Retrieving a List of Payments in a Subscription {#retrieve-list-payments-in-sub}
================================================================================

When you retrieve a list of all past and future payments, the following details are included:

* **Total count** : Total number of payments retrieved in the subscriptionPayment object, including scheduled payments.
* **Cycles completed count**: Count of completed cycles grouped by their statuses.
* **Billing cycles to skip**: List of billing cycle numbers that are marked to be skipped.
* **Subscription payment** : List of details for each payment returned based on the applied filters:
  * **Payment ID**: Unique identifier generated by Recurring Billing.
  * **Payment status**: The current status of the payment.
  * **Payment type**: The type of payment.
  * **Transaction ID**: A unique identification number generated by Cybersource to identify the submitted request. Returned by all services.
  * **Payment date**: The date and time when the payment is processed.
  * **Payment currency**: Currency used for the order.
  * **Billing cycle start date**: The start date of the billing period associated with this payment.
  * **Billing cycle end date**: The end date of the billing period associated with this payment.
  * **Billing cycle number**: The billing cycle number.
  * **Payment number**: The sequential number of the payment within the subscription.
  * **Billing amount**: The amount billed for this payment.
  * **Setup fee**: The setup fee associated with the payment, if any.
  * **Surcharge amount**: The surcharge amount, if any.
  * **Surcharge description**: Description of the surcharge, if applicable.
  * **Modifiable**: Indicates whether the payment can be modified, skipped, or restored.
    {#retrieve-list-payments-in-sub_ul_xnz_2hs_cjc}

{#retrieve-list-payments-in-sub_ul_z4y_dhs_cjc}  
Follow these steps to retrieve a list of payments:

1. In the endpoint path, include the subscription ID.
2. Filter the list of subscriptions by using these query string parameters:
   1. `offset`: Number of items to be offset.
   2. `limit`: Number of items to be returned. Default is `20`, maximum is `100`.
   3. `scheduledPaymentsCount`: Number of existing scheduled payments to be returned. Default is `5`, maximum is `9999`. If the number of scheduled payments is lower than the specified value, the system returns only the existing ones.
      {#retrieve-list-payments-in-sub_ol_syx_f3s_cjc}
3. Send the request message to one of these endpoints:

{#retrieve-list-payments-in-sub_ol_l1z_lhs_cjc}  
Production: `GET https://api.cybersource.com/rbs/v1/subscriptions/{id}/payments`  
Test: `GET https://apitest.cybersource.test.com/rbs/v1/subscriptions/{id}/payments`  
4. Verify that the request was successful. A 200-level HTTP response code indicates success. For more information, see See [Transaction Response Codes](https://developer.cybersource.com/api/reference/response-codes.md "").
