Payment Plans Learn which payment/billing plans are available and how they differ

Payment Plan Types

There are different types of payment plans.

Recurring Payments Installments Subscriptions
Example Charge $51.40
... x days later ...
Charge $45.25
Charge $1000 ...
... $400 now
... $400 on 05.03.
... $200 on 19.03.
Charge $200 ...
... repeat every 12. of the month
Initial Payment Manual Manual Manual
Subsequent Payments Manual Automatic Automatic
Flow
  1. Authorize and capture a transaction with ...
    {
      ...
      "payment_plan": {
        "type": "recurring_payment"
      },
      ...
    }
  2. Remember payment agreement ID
  3. Authorize subsequent transactions with ...
    {
      ...
      "funding_instrument": {
        "type": "payment_agreement",
        "payment_agreement_id": "<remembered id>"
      }
      ...
    }
  1. Authorize and capture a transaction with ...
    {
      ...
      "amount": 40000,
      "description": "First installment",
      "payment_plan": {
      "type": "installments",
      "installments": [{
          "amount": 40000,
          "due_date": "2018-03-05"
        }, {
          "amount": 20000,
          "due_date": "2018-03-19"
        }]
      },
      ...
    }
  2. Remember payment agreement ID
  1. Authorize and capture transaction with ...
    {
      ...
      "payment_plan": {
        "type": "subscription",
        "interval": "monthly",
        ["start_date": "2018-03-12"]
      },
      ...
    }
  2. Remember payment agreement ID
Failed Transactions
  • Errors are directly returned to the integrators when the API is called.
  • Errors are reported to the integrator via webhooks.
  • If an installment fails the payment plan is stopped. It is recommended to create a new payment plan for the remaining amount.
  • Errors are reported to the integrator via webhooks.
  • If a billing fails the subscription is halted.
  • Subscription is continued as soon as the error is resolved. (eg. retrying with a new credit card)
Related RPC Methods
  • paymentAgreement.getDetails
  • paymentAgreement.getDetails
  • paymentAgreement.halt
  • paymentAgreement.getDetails
  • paymentAgreement.halt
  • paymentAgreement.resolve
Related Webhooks / Events
  • PaymentAgreementCreatedEvent
  • PaymentAgreementCreatedEvent
  • InvoiceAddedEvent
  • InvoicePaidEvent
  • InvoicePaymentFailedEvent
  • PaymentAgreementCreatedEvent
  • InvoiceAddedEvent
  • InvoicePaidEvent
  • InvoicePaymentFailedEvent