cybersource-rest-client
Version:
Node.js SDK for the CyberSource REST API
391 lines (261 loc) • 11.3 kB
Markdown
# CyberSource.PlansApi
All URIs are relative to *https://apitest.cybersource.com*
Method | HTTP request | Description
------------- | ------------- | -------------
[**activatePlan**](PlansApi.md#activatePlan) | **POST** /rbs/v1/plans/{id}/activate | Activate a Plan
[**createPlan**](PlansApi.md#createPlan) | **POST** /rbs/v1/plans | Create a Plan
[**deactivatePlan**](PlansApi.md#deactivatePlan) | **POST** /rbs/v1/plans/{id}/deactivate | Deactivate a Plan
[**deletePlan**](PlansApi.md#deletePlan) | **DELETE** /rbs/v1/plans/{id} | Delete a Plan
[**getPlan**](PlansApi.md#getPlan) | **GET** /rbs/v1/plans/{id} | Get a Plan
[**getPlanCode**](PlansApi.md#getPlanCode) | **GET** /rbs/v1/plans/code | Get a Plan Code
[**getPlans**](PlansApi.md#getPlans) | **GET** /rbs/v1/plans | Get a List of Plans
[**updatePlan**](PlansApi.md#updatePlan) | **PATCH** /rbs/v1/plans/{id} | Update a Plan
<a name="activatePlan"></a>
# **activatePlan**
> ActivateDeactivatePlanResponse activatePlan(id)
Activate a Plan
Activate a Plan
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.PlansApi();
var id = "id_example"; // String | Plan Id
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.activatePlan(id, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Plan Id |
### Return type
[**ActivateDeactivatePlanResponse**](ActivateDeactivatePlanResponse.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="createPlan"></a>
# **createPlan**
> CreatePlanResponse createPlan(createPlanRequest)
Create a Plan
The recurring billing service enables you to manage payment plans and subscriptions for recurring payment schedules. It securely stores your customer's payment information and personal data within secure Visa data centers, reducing storage risks and PCI DSS scope through the use of *Token Management* (*TMS*). The three key elements of *Cybersource* Recurring Billing are: - **Token**: stores customer billing, shipping, and payment details. - **Plan**: stores the billing schedule. - **Subscription**: combines the token and plan, and defines the subscription start date, name, and description. The APIs in this section demonstrate the management of the Plans and Subscriptions. For Tokens please refer to [Token Management](#token-management) The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.PlansApi();
var createPlanRequest = new CyberSource.CreatePlanRequest(); // CreatePlanRequest |
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.createPlan(createPlanRequest, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**createPlanRequest** | [**CreatePlanRequest**](CreatePlanRequest.md)| |
### Return type
[**CreatePlanResponse**](CreatePlanResponse.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="deactivatePlan"></a>
# **deactivatePlan**
> ActivateDeactivatePlanResponse deactivatePlan(id)
Deactivate a Plan
Deactivate a Plan
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.PlansApi();
var id = "id_example"; // String | Plan Id
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.deactivatePlan(id, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Plan Id |
### Return type
[**ActivateDeactivatePlanResponse**](ActivateDeactivatePlanResponse.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="deletePlan"></a>
# **deletePlan**
> DeletePlanResponse deletePlan(id)
Delete a Plan
Delete a Plan is only allowed: - plan status is in `DRAFT` - plan status is in `ACTIVE`, and `INACTIVE` only allowed when no subscriptions attached to a plan in the lifetime of a plan
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.PlansApi();
var id = "id_example"; // String | Plan Id
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.deletePlan(id, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Plan Id |
### Return type
[**DeletePlanResponse**](DeletePlanResponse.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="getPlan"></a>
# **getPlan**
> GetPlanResponse getPlan(id)
Get a Plan
Retrieve a Plan details by Plan Id.
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.PlansApi();
var id = "id_example"; // String | Plan Id
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.getPlan(id, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Plan Id |
### Return type
[**GetPlanResponse**](GetPlanResponse.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="getPlanCode"></a>
# **getPlanCode**
> GetPlanCodeResponse getPlanCode()
Get a Plan Code
Get a Unique Plan Code
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.PlansApi();
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.getPlanCode(callback);
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**GetPlanCodeResponse**](GetPlanCodeResponse.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="getPlans"></a>
# **getPlans**
> GetAllPlansResponse getPlans(opts)
Get a List of Plans
Retrieve Plans by Plan Code & Plan Status.
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.PlansApi();
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 Plan Code
'status': "status_example", // String | Filter by Plan Status
'name': "name_example" // String | Filter by Plan Name. (First sub string or full string) **[Not Recommended]**
};
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.getPlans(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 Plan Code | [optional]
**status** | **String**| Filter by Plan Status | [optional]
**name** | **String**| Filter by Plan Name. (First sub string or full string) **[Not Recommended]** | [optional]
### Return type
[**GetAllPlansResponse**](GetAllPlansResponse.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="updatePlan"></a>
# **updatePlan**
> UpdatePlanResponse updatePlan(id, updatePlanRequest)
Update a Plan
Update a Plan Plan in `DRAFT` status - All updates are allowed on Plan with `DRAFT` status Plan in `ACTIVE` status [Following fields are **Not Updatable**] - `planInformation.billingPeriod` - `planInformation.billingCycles` [Update is only allowed to **increase** billingCycles] - `orderInformation.amountDetails.currency`
### Example
```javascript
var CyberSource = require('CyberSource');
var apiInstance = new CyberSource.PlansApi();
var id = "id_example"; // String | Plan Id
var updatePlanRequest = new CyberSource.UpdatePlanRequest(); // UpdatePlanRequest |
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.updatePlan(id, updatePlanRequest, callback);
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **String**| Plan Id |
**updatePlanRequest** | [**UpdatePlanRequest**](UpdatePlanRequest.md)| |
### Return type
[**UpdatePlanResponse**](UpdatePlanResponse.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