cybersource-rest-client
Version:
Node.js SDK for the CyberSource REST API
502 lines (339 loc) • 16.9 kB
Markdown
# CyberSource.SubscriptionsApi
All URIs are relative to *https://apitest.cybersource.com*
Method | HTTP request | Description
------------- | ------------- | -------------
[**activateSubscription**](SubscriptionsApi.md#activateSubscription) | **POST** /rbs/v1/subscriptions/{id}/activate | Reactivating a Suspended Subscription
[**cancelSubscription**](SubscriptionsApi.md#cancelSubscription) | **POST** /rbs/v1/subscriptions/{id}/cancel | Cancel a Subscription
[**createSubscription**](SubscriptionsApi.md#createSubscription) | **POST** /rbs/v1/subscriptions | Create a Subscription
[**getAllSubscriptions**](SubscriptionsApi.md#getAllSubscriptions) | **GET** /rbs/v1/subscriptions | Get a List of Subscriptions
[**getSubscription**](SubscriptionsApi.md#getSubscription) | **GET** /rbs/v1/subscriptions/{id} | Get a Subscription
[**getSubscriptionCode**](SubscriptionsApi.md#getSubscriptionCode) | **GET** /rbs/v1/subscriptions/code | Get a Subscription Code
[**subscriptionsIdPaymentsGet**](SubscriptionsApi.md#subscriptionsIdPaymentsGet) | **GET** /rbs/v1/subscriptions/{id}/payments | Get Payments for a Subscription
[**subscriptionsIdPaymentsPut**](SubscriptionsApi.md#subscriptionsIdPaymentsPut) | **PUT** /rbs/v1/subscriptions/{id}/payments | Update Payments for a subscription
[**suspendSubscription**](SubscriptionsApi.md#suspendSubscription) | **POST** /rbs/v1/subscriptions/{id}/suspend | Suspend a Subscription
[**updateSubscription**](SubscriptionsApi.md#updateSubscription) | **PATCH** /rbs/v1/subscriptions/{id} | Update a Subscription
<a name="activateSubscription"></a>
# **activateSubscription**
> ActivateSubscriptionResponse activateSubscription(id, opts)
Reactivating a Suspended Subscription
# Reactivating a Suspended Subscription You can reactivate a suspended subscription for the next billing cycle. You cannot reactivate a canceled or completed subscription. You can specify whether you want to process missed payments for the period during which the subscription was suspended using the `processMissedPayments` query parameter by setting it to true or false. If no value is specified, the system will default to `true`. **Important:** The \"processMissedPayments\" query parameter is only effective when the Ask each time before reactivating option is selected in the reactivation settings. If any other option is chosen, the value provided in the request will be ignored by the system. For more information, see the [Recurring Billing User Guide](https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/user/all/rest/recurring-billing-user/recurring-billing-user-about-guide.html). You can check how many payments were missed and the total amount by retrieving the subscription details, where you will find the `reactivationInformation` object. See: [Retrieving a Subscription](https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-dev/recur-bill-subscriptions/recur-bill-getting-a-subscription.html).
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.SubscriptionsApi();
var id = "id_example"; // String | Subscription Id
var opts = {
'processMissedPayments': true // Boolean | Indicates if missed payments should be processed from the period when the subscription was suspended. By default, this is set to true. When any option other than \"Ask each time before reactivating\" is selected in the reactivation settings, the value that you enter will be ignored.
};
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.activateSubscription(id, opts, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Subscription Id |
**processMissedPayments** | **Boolean**| Indicates if missed payments should be processed from the period when the subscription was suspended. By default, this is set to true. When any option other than \"Ask each time before reactivating\" is selected in the reactivation settings, the value that you enter will be ignored. | [optional] [default to true]
### Return type
[**ActivateSubscriptionResponse**](ActivateSubscriptionResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json;charset=utf-8
- **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
<a name="cancelSubscription"></a>
# **cancelSubscription**
> CancelSubscriptionResponse cancelSubscription(id)
Cancel a Subscription
Cancel a Subscription
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.SubscriptionsApi();
var id = "id_example"; // String | Subscription Id
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.cancelSubscription(id, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Subscription Id |
### Return type
[**CancelSubscriptionResponse**](CancelSubscriptionResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json;charset=utf-8
- **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
<a name="createSubscription"></a>
# **createSubscription**
> CreateSubscriptionResponse createSubscription(createSubscriptionRequest)
Create a Subscription
Create a Recurring Billing Subscription
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.SubscriptionsApi();
var createSubscriptionRequest = new CyberSource.CreateSubscriptionRequest(); // CreateSubscriptionRequest |
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.createSubscription(createSubscriptionRequest, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**createSubscriptionRequest** | [**CreateSubscriptionRequest**](CreateSubscriptionRequest.md)| |
### Return type
[**CreateSubscriptionResponse**](CreateSubscriptionResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json;charset=utf-8
- **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
<a name="getAllSubscriptions"></a>
# **getAllSubscriptions**
> GetAllSubscriptionsResponse getAllSubscriptions(opts)
Get a List of Subscriptions
Retrieve Subscriptions by Subscription Code & Subscription Status.
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.SubscriptionsApi();
var opts = {
'offset': 56, // Number | Page offset number.
'limit': 56, // Number | Number of items to be returned. Default - `20`, Max - `100`
'code': "code_example", // String | Filter by Subscription Code
'status': "status_example", // String | Filter by Subscription Status
'customerId': "customerId_example", // String | Filter by Customer Id
'clientReferenceInformationCode': "clientReferenceInformationCode_example" // String | Filter by Client Reference Information Code / Merchant Reference Number
};
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.getAllSubscriptions(opts, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**offset** | **Number**| Page offset number. | [optional]
**limit** | **Number**| Number of items to be returned. Default - `20`, Max - `100` | [optional]
**code** | **String**| Filter by Subscription Code | [optional]
**status** | **String**| Filter by Subscription Status | [optional]
**customerId** | **String**| Filter by Customer Id | [optional]
**clientReferenceInformationCode** | **String**| Filter by Client Reference Information Code / Merchant Reference Number | [optional]
### Return type
[**GetAllSubscriptionsResponse**](GetAllSubscriptionsResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json;charset=utf-8
- **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
<a name="getSubscription"></a>
# **getSubscription**
> GetSubscriptionResponse getSubscription(id)
Get a Subscription
Get a Subscription by Subscription Id
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.SubscriptionsApi();
var id = "id_example"; // String | Subscription Id
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.getSubscription(id, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Subscription Id |
### Return type
[**GetSubscriptionResponse**](GetSubscriptionResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json;charset=utf-8
- **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
<a name="getSubscriptionCode"></a>
# **getSubscriptionCode**
> GetSubscriptionCodeResponse getSubscriptionCode()
Get a Subscription Code
Get a Unique Subscription Code
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.SubscriptionsApi();
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.getSubscriptionCode(callback);
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**GetSubscriptionCodeResponse**](GetSubscriptionCodeResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json;charset=utf-8
- **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
<a name="subscriptionsIdPaymentsGet"></a>
# **subscriptionsIdPaymentsGet**
> GetSubscriptionsPaymentsResponse subscriptionsIdPaymentsGet(id, opts)
Get Payments for a Subscription
Retrieve a list of payments for a specific subscription by its ID.
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.SubscriptionsApi();
var id = "id_example"; // String | Subscription Id
var opts = {
'offset': 56, // Number | Page offset number.
'limit': 56, // Number | Number of items to be returned. Default - `20`, Max - `100`
'scheduledPaymentsCount': 56 // Number | Number of existing scheduled payments to be returned. Default - `5`, Max - `9999`
};
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.subscriptionsIdPaymentsGet(id, opts, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Subscription Id |
**offset** | **Number**| Page offset number. | [optional]
**limit** | **Number**| Number of items to be returned. Default - `20`, Max - `100` | [optional]
**scheduledPaymentsCount** | **Number**| Number of existing scheduled payments to be returned. Default - `5`, Max - `9999` | [optional]
### Return type
[**GetSubscriptionsPaymentsResponse**](GetSubscriptionsPaymentsResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
<a name="subscriptionsIdPaymentsPut"></a>
# **subscriptionsIdPaymentsPut**
> GetSubscriptionsPaymentsResponse1 subscriptionsIdPaymentsPut(id, updatePayments)
Update Payments for a subscription
Modifies the state of a subscription's payments. Currently, the only possible modifications are \"skipping\" and \"restoring\" payments. Marking a payment as \"skipped\" means it will not be processed when its scheduled time arrives. \"Restoring\" a payment removes it from the list of payments to be skipped.
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.SubscriptionsApi();
var id = "id_example"; // String | Subscription Id
var updatePayments = new CyberSource.UpdatePayments(); // UpdatePayments | Modify payments of a subscription
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.subscriptionsIdPaymentsPut(id, updatePayments, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Subscription Id |
**updatePayments** | [**UpdatePayments**](UpdatePayments.md)| Modify payments of a subscription |
### Return type
[**GetSubscriptionsPaymentsResponse1**](GetSubscriptionsPaymentsResponse1.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
<a name="suspendSubscription"></a>
# **suspendSubscription**
> SuspendSubscriptionResponse suspendSubscription(id)
Suspend a Subscription
Suspend a Subscription
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.SubscriptionsApi();
var id = "id_example"; // String | Subscription Id
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.suspendSubscription(id, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Subscription Id |
### Return type
[**SuspendSubscriptionResponse**](SuspendSubscriptionResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json;charset=utf-8
- **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8
<a name="updateSubscription"></a>
# **updateSubscription**
> UpdateSubscriptionResponse updateSubscription(id, updateSubscription)
Update a Subscription
Update a Subscription by Subscription Id
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.SubscriptionsApi();
var id = "id_example"; // String | Subscription Id
var updateSubscription = new CyberSource.UpdateSubscription(); // UpdateSubscription | Update Subscription
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.updateSubscription(id, updateSubscription, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Subscription Id |
**updateSubscription** | [**UpdateSubscription**](UpdateSubscription.md)| Update Subscription |
### Return type
[**UpdateSubscriptionResponse**](UpdateSubscriptionResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json;charset=utf-8
- **Accept**: application/json, application/hal+json, application/json;charset=utf-8, application/hal+json;charset=utf-8