Enhance Your Subscriptions Integration Features

DocsLegacyLast updated: August 23rd 2021, @ 12:24:47 pm


After you integrate the Subscriptions API, you can customize the integration with additional operations.

Availability: Customers who integrated with Subscriptions before April 2019 can access reference and support material in the archived Subscriptions integration guide.

Product management

TaskResource
Show details for your productShow product details
Update product detailsUpdate product details
List products for a merchantList products

Plan management

TaskResource
List available plansList plans
Show details for a planShow plan details
Activate a planActivate plan
Deactivate a planDeactivate plan
Update a planUpdate plan
Update the pricing for a planUpdate pricing

Subscriptions management

TaskResource
Show details for a subscriptionShow subscription details
Update a subscriptionUpdate subscription
Suspend an active subscriptionSuspend subscription
Cancel an active subscriptionCancel subscription
Activate a subscriptionActivate subscription
Capture payment for the outstanding subscription balanceCapture amount on subscription
List transactions for a subscriptionList transactions for a subscription
Upgrade or downgrade a subscriptionRevise subscription

Payment processing and retry

  • Auto debit for active subscriptions occur at 10:00 am, GMT irrespective of country.

  • On payment success, a PAYMENT.SALE.COMPLETED webhook is triggered, and on failure, a BILLING.SUBSCRIPTION.PAYMENT.FAILED webhook is triggered.

  • Failed payments are retried every 5 days (a maximum of 2 retries) until the next cycle is reached. If the second retry attempt fails, PayPal increments the failed payment count by 1, places the amount in the outstanding balance, and adds it to next billing cycle.

    For example, a monthly subscription starting on 01 Jan encounters a payment failure on its next billing cycle. 01 Feb is automatically retried on 05 Feb and 10 Feb. Since both the payment and retry attempt failed, PayPal treats it as a failed billing cycle and increments failed_payments_count by 1 and places the amount in the outstanding balance and adds it to next billing cycle.

  • Retry attempts for failed payments on subscriptions stop if the buyer has canceled the subscription. The amount you're trying to recover will go into an outstanding balance which you settle offline or can pull anytime.

  • The failed_payments_count attribute of the BILLING.SUBSCRIPTION.PAYMENT.FAILED webhook can be used to track the failed billing cycle count for a subscription. A subscription is suspended if this count reaches the payment_failure_threshold configured against the plan associated with the subscription. Any amount you're trying to recover will go into an outstanding balance which you settle offline or can pull anytime.