CyberSource Merged Spec
type: WebAPI
description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
version: 0.0.1
provider: CyberSource
documentation: https://developer.cybersource.com/docs/
terms of service: https://developer.cybersource.com/
available channel: ServiceChannel
  service url: CyberSource Merged Spec
available channel: ServiceChannel
  service url: https://apitest.cybersource.com/

Process a Payment
type: EntryPoint
description: A payment authorizes the amount for the transaction. There are a number of supported payment features, such as E-commerce and Card Present - Credit Card/Debit Card, Echeck, e-Wallets, Level II/III Data, etc.. A payment response includes the status of the request. It also includes processor-specific information when the request is successful and errors if unsuccessful. See the [Payments Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html). Authorization can be requested with Capture, Decision Manager, Payer Authentication(3ds), and Token Creation.
http method: POST
url template: https://api.cybersource.com/pts/v2/payments
encoding type: application/json

Increment an Authorization
type: EntryPoint
description: Use this service to authorize additional charges in a lodging or autorental transaction. Include the ID returned from the original authorization in the PATCH request to add additional charges to that authorization.
http method: PATCH
url template: https://api.cybersource.com/pts/v2/payments/{id}
encoding type: application/json

Process an Authorization Reversal
type: EntryPoint
description: Include the payment ID in the POST request to reverse the payment amount.
http method: POST
url template: https://api.cybersource.com/pts/v2/payments/{id}/reversals
encoding type: application/json

Timeout Reversal
type: EntryPoint
description: This is to reverse a previous payment that merchant does not receive a reply(Mostly due to Timeout). To use this feature/API, make sure to pass unique value to field - clientReferenceInformation -> transactionId in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/index.html#payments_payments) API call and use same transactionId in this API request payload to reverse the payment.
http method: POST
url template: https://api.cybersource.com/pts/v2/reversals
encoding type: application/json

Capture a Payment
type: EntryPoint
description: Include the payment ID in the POST request to capture the payment amount.
http method: POST
url template: https://api.cybersource.com/pts/v2/payments/{id}/captures
encoding type: application/json

Refund a Payment
type: EntryPoint
description: Refund a Payment API is only used, if you have requested Authorization and Capture together in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/index.html#payments_payments) API call. Include the payment ID in the POST request to refund the payment amount.
http method: POST
url template: https://api.cybersource.com/pts/v2/payments/{id}/refunds
encoding type: application/json

Refund a Capture
type: EntryPoint
description: Refund a capture API is only used, if you have requested Capture independenlty using [/pts/v2/payments/{id}/captures](https://developer.cybersource.com/api-reference-assets/index.html#payments_capture) API call. Include the capture ID in the POST request to refund the captured amount.
http method: POST
url template: https://api.cybersource.com/pts/v2/captures/{id}/refunds
encoding type: application/json

Process a Credit
type: EntryPoint
description: POST to the credit resource to credit funds to a specified credit card.
http method: POST
url template: https://api.cybersource.com/pts/v2/credits
encoding type: application/json

Void a Payment
type: EntryPoint
description: Void a Payment API is only used, if you have requested Authorization and Capture together in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/index.html#payments_payments) API call. Include the payment ID in the POST request to cancel the payment.
http method: POST
url template: https://api.cybersource.com/pts/v2/payments/{id}/voids
encoding type: application/json

Void a Capture
type: EntryPoint
description: Refund a capture API is only used, if you have requested Capture independenlty using [/pts/v2/payments/{id}/captures](https://developer.cybersource.com/api-reference-assets/index.html#payments_capture) API call. Include the capture ID in the POST request to cancel the capture.
http method: POST
url template: https://api.cybersource.com/pts/v2/captures/{id}/voids
encoding type: application/json

Void a Refund
type: EntryPoint
description: Include the refund ID in the POST request to cancel the refund.
http method: POST
url template: https://api.cybersource.com/pts/v2/refunds/{id}/voids
encoding type: application/json

Void a Credit
type: EntryPoint
description: Include the credit ID in the POST request to cancel the credit.
http method: POST
url template: https://api.cybersource.com/pts/v2/credits/{id}/voids
encoding type: application/json

Timeout Void
type: EntryPoint
description: This is to void a previous payment, capture, refund, or credit that merchant does not receive a reply(Mostly due to timeout). To use this feature/API, make sure to pass unique value to field - clientReferenceInformation -> transactionId in your payment, capture, refund, or credit API call and use same transactionId in this API request payload to reverse the payment.
http method: POST
url template: https://api.cybersource.com/pts/v2/voids
encoding type: application/json

Get a List of Batch Files
type: EntryPoint
description: Provide the date and time search range to get a list of Batch Files ready for settlement
http method: GET
url template: https://api.cybersource.com/pts/v1/transaction-batches
encoding type: application/json

Get Individual Batch File
type: EntryPoint
description: This API provides details like upload date, completion date, transaction count and accepted and rejected transaction count of the individual batch file using the batch id
http method: GET
url template: https://api.cybersource.com/pts/v1/transaction-batches/{id}
encoding type: application/json

Get Transaction Details for a given Batch Id
type: EntryPoint
description: Provides real-time detailed status information about the transactions that you previously uploaded in the Business Center or processed with the Offline Transaction File Submission service.
http method: GET
url template: https://api.cybersource.com/pts/v1/transaction-batch-details/{id}
encoding type: application/json

Upload a Batch File
type: EntryPoint
description: This endpoint enables the upload of a batch file containing transactions for processing.
http method: POST
url template: https://api.cybersource.com/pts/v1/transaction-batch-upload
encoding type: application/json

Check a Payment Status
type: EntryPoint
description: Checks and updates the payment status
http method: POST
url template: https://api.cybersource.com/pts/v2/refresh-payment-status/{id}
encoding type: application/json

Create a Billing Agreement
type: EntryPoint
description: #### Standing Instruction: Standing Instruction with or without Token. Transaction amount in case First payment is coming along with registration. Only 2 decimal places allowed #### Create Mandate: You can create a mandate through the direct debit mandate flow. Possible create mandate status values: - Pending—the create mandate request was successfully processed. - Failed—the create mandate request was not accepted. #### Import Mandate: In the Bacs scheme, a mandate is created with a status of active. Direct debit collections can be made against it immediately. You can import a mandate to the CyberSource database when: - You have existing customers with signed, active mandates - You manage mandates outside of CyberSource. When you import an existing mandate to the CyberSource database, provide a unique value for the mandate ID or the request results in an error. If an import mandate request is not accepted, the import mandate status value is failed.
http method: POST
url template: https://api.cybersource.com/pts/v2/billing-agreements
encoding type: application/json

Modify a Billing Agreement
type: EntryPoint
description: #### Standing Instruction: Standing Instruction with or without Token. #### Revoke Mandate: When you revoke a mandate, any pending direct debits linked to that mandate are canceled. No notifications are sent. When you revoke a mandate with no pending direct debits, the Bacs scheme or customer's bank notify you of any subsequent direct debit events. When you revoke a mandate, you cannot send a direct debit request using the mandate ID. Customer payments cannot be made against a revoked mandate. You can revoke a mandate when the customer: - Requests that you revoke the mandate. - Closes their account with you. Possible revoke mandate status values - - Revoked—the revoke mandate request was successfully processed. - Failed—the revoke mandate request was not accepted. #### Update Mandate: In most cases, the account details of an existing mandate cannot be updated in the Bacs schema, except by creating a new mandate. However, some very limited customer information, like name and address, can be updated to the mandate without needing to revoke it first #### Mandate Status: After the customer signs the mandate, request that the mandate status service verify the mandate status. Possible mandate status values: - Active—the mandate is successfully created. A direct debit can be sent for this mandate ID. - Pending—a pending mandate means the mandate is not yet signed. - Failed—the customer did not authenticate. - Expired—the deadline to create the mandate passed. - Revoked—the mandate is cancelled. #### Paypal Billing Agreement: A billing agreement is set up between PayPal and your customer. When you collect the details of a customer's billing agreement, you are able to bill that customer without requiring an authorization for each payment. You can bill the customer at the same time you process their PayPal Express checkout order, which simplifies your business processes.
http method: PATCH
url template: https://api.cybersource.com/pts/v2/billing-agreements/{id}
encoding type: application/json

Standing Instruction intimation
type: EntryPoint
description: Standing Instruction with or without Token.
http method: POST
url template: https://api.cybersource.com/pts/v2/billing-agreements/{id}/intimations
encoding type: application/json

Create a Payment Order Request
type: EntryPoint
description: Create a Payment Order Request
http method: POST
url template: https://api.cybersource.com/pts/v2/payment-references/{id}/intents
encoding type: application/json

Create Alternative Payments Sessions Request
type: EntryPoint
description: Create Alternative Payments Sessions Request
http method: POST
url template: https://api.cybersource.com/pts/v2/payment-references
encoding type: application/json

Update Alternative Payments Sessions Request
type: EntryPoint
description: Update Alternative Payments Sessions Request
http method: PATCH
url template: https://api.cybersource.com/pts/v2/payment-references/{id}
encoding type: application/json

Create an Order
type: EntryPoint
description: A create order request enables you to send the itemized details along with the order. This API can be used by merchants initiating their transactions with the create order API.
http method: POST
url template: https://api.cybersource.com/pts/v2/intents
encoding type: application/json

Update an Order
type: EntryPoint
description: This API can be used in two flavours - for updating the order as well as saving the order.
http method: PATCH
url template: https://api.cybersource.com/pts/v2/intents/{id}
encoding type: application/json

Retrieve or Delete Payment Token
type: EntryPoint
description: This API can be used in two flavours - for retrieval or deletion of vault id.
http method: POST
url template: https://api.cybersource.com/pts/v2/payment-tokens
encoding type: application/json

Tokenize
type: EntryPoint
description: | | | | | --- | --- | --- | |The **Tokenize API** endpoint facilitates the creation of various TMS tokens such as Customers, Payment Instruments, Shipping Addresses, and Instrument Identifiers in a single operation. The request includes a processingInformation object, which specifies **"TOKEN_CREATE"** and the types of tokens to be created. The **tokenInformation** section of the request includes detailed information relevant to each token type. This includes attributes for Customers, Payment Instruments, Shipping Addresses, Instrument Identifiers and Transient Token data. The payload is flexible, allowing for different combinations of tokens to be created in a single request.| |The **API response** includes a responses array, which details the outcome of the tokenization process for each requested resource type, such as Customer, Payment Instrument, Shipping Address, and Instrument Identifier. Each entry in this array provides an HTTP status code such as **201/200 for successful creations**, and a unique identifier for the newly created token. In cases where token creation encounters issues, the response includes a **non-2XX** status code and an errors array for the affected resource. Each error object in the array details the **error type and a descriptive message** providing insight into why a particular token creation was not attempted or failed.
http method: POST
url template: https://api.cybersource.com/tms/v2/tokenize
encoding type: application/json

Create a Tokenized Card
type: EntryPoint
description: **Tokenized cards** A Tokenized card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires. This API submits a request to the card association to create a network token. If successful, a tokenized card will be created in TMS to represent the network token.
http method: POST
url template: https://api.cybersource.com/tms/v2/tokenized-cards
encoding type: application/json

Retrieve a Tokenized Card
type: EntryPoint
description: |**Tokenized Cards** A Tokenized Card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires. This API returns the details of a tokenized card stored in TMS. You can use this API to check the status of a tokenized card and retrieve details such as the last four digits of the underlying card, expiration date, and card type.
http method: GET
url template: https://api.cybersource.com/tms/v2/tokenized-cards/{tokenizedCardId}
encoding type: application/json