Class: Payflow::Providers::Asaas::Subscription
- Inherits:
-
Object
- Object
- Payflow::Providers::Asaas::Subscription
- Defined in:
- lib/payflow/providers/asaas/subscription.rb
Constant Summary collapse
- BASE_URL =
"https://api.asaas.com/v3"
Instance Method Summary collapse
- #cancel(provider_subscription_id) ⇒ Object
- #create(customer_id:, plan_id:) ⇒ Object
-
#initialize(client) ⇒ Subscription
constructor
A new instance of Subscription.
Constructor Details
#initialize(client) ⇒ Subscription
Returns a new instance of Subscription.
9 10 11 |
# File 'lib/payflow/providers/asaas/subscription.rb', line 9 def initialize(client) @client = client end |
Instance Method Details
#cancel(provider_subscription_id) ⇒ Object
28 29 30 31 |
# File 'lib/payflow/providers/asaas/subscription.rb', line 28 def cancel(provider_subscription_id) http_client.delete("/subscriptions/#{provider_subscription_id}") { id: provider_subscription_id, provider: :asaas, status: "cancelled" } end |
#create(customer_id:, plan_id:) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/payflow/providers/asaas/subscription.rb', line 13 def create(customer_id:, plan_id:, **) response = http_client.post("/subscriptions") do |req| req.body = { customer: customer_id, billingType: "CREDIT_CARD", value: plan_value(plan_id), cycle: "MONTHLY", description: "Plan #{plan_id}" }.to_json end data = JSON.parse(response.body) { id: data["id"], provider: :asaas, status: "active" } end |