CyberSource Payment Links API

Offer your customers a simple, convenient, and fast way to pay with the new online pay by link tool.

Operations 4

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cybersource-payment-links-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cybersource-payment-links-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
  version: 0.0.1
  title: CyberSource Merged Spec bankAccountValidation Payment Links API
servers:
- url: https://apitest.cybersource.com/
tags:
- name: Payment Links
  description: 'Offer your customers a simple, convenient, and fast way to pay with the new online pay by link tool.

    '
paths:
  /ipl/v2/payment-links:
    post:
      tags:
      - Payment Links
      summary: Create a Payment Link
      description: "Pay by Link is an easy and fast way to securely sell products or receive\ndonations online. This solution is ideal for distributing the same\npayment link to multiple customers. \n\nLinks for making purchases are referred to as fixed-price links, and\nlinks for making donations are referred to as customer-set price links.\n"
      operationId: createPaymentLink
      x-devcenter-metaData:
        categoryTag: Pay_By_Link
        developerGuides: https://developer.cybersource.com/docs/cybs/en-us/paybylink/developer/all/rest/paybylink/paybylink-intro.html
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                title: pblPaymentLinksPost201Response
                type: object
                properties:
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            description: This is the endpoint of the resource that was created by the successful request.
                          method:
                            type: string
                            description: '`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource.'
                      update:
                        type: object
                        properties:
                          href:
                            type: string
                            description: This is the endpoint of the resource that was created by the successful request.
                          method:
                            type: string
                            description: '`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource.'
                  id:
                    type: string
                    maxLength: 26
                    description: 'An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.

                      It is also appended to the endpoint of the resource.

                      On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.

                      '
                  submitTimeUtc:
                    type: string
                    description: 'Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`

                      **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).

                      The `T` separates the date and the time. The `Z` indicates UTC.


                      Returned by Cybersource for all services.

                      '
                  status:
                    type: string
                    description: 'The status of the purchase or donation link.


                      Possible values:

                      - ACTIVE

                      - INACTIVE

                      '
                  processingInformation:
                    type: object
                    required:
                    - linkType
                    description: Contains processing information, such as the type and collection details.
                    properties:
                      linkType:
                        type: string
                        description: "linkType defines what type of link you want to create.\n\nPossible Values:\n  - `PURCHASE`\n  - `DONATION`\n"
                      requestPhone:
                        type: boolean
                        description: Collect the payers phone number during the payment.
                        default: false
                      requestShipping:
                        type: boolean
                        description: Collect the payers shipping address during the payment.
                        default: false
                  purchaseInformation:
                    type: object
                    description: Contains link specific detail.
                    properties:
                      purchaseNumber:
                        type: string
                        maxLength: 50
                        description: The purchase number
                      createdDate:
                        type: string
                        x-example: '2018-08-11T22:47:57Z'
                        description: 'Date and time (UTC) the invoice was created.


                          Format: YYYY-MM-DDThh:mm:ssZ Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.

                          '
                      paymentLink:
                        type: string
                        description: Returns the link to a purchase or donation link when the status is `ACTIVE`.
                  orderInformation:
                    type: object
                    description: Contains all of the order-related fields, such as the amount and line item details.
                    properties:
                      amountDetails:
                        type: object
                        description: Contains all of the amount-related fields.
                        properties:
                          totalAmount:
                            type: string
                            maxLength: 19
                            description: "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
                          currency:
                            type: string
                            maxLength: 3
                            description: 'Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)


                              #### Used by

                              **Authorization**

                              Required field.


                              **Authorization Reversal**

                              For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.


                              #### PIN Debit

                              Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).

                              Returned by PIN debit purchase.


                              For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.

                              For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).


                              Required field for PIN Debit purchase and PIN Debit credit requests.

                              Optional field for PIN Debit reversal requests.


                              #### GPX

                              This field is optional for reversing an authorization or credit.


                              #### DCC for First Data

                              Your local currency.


                              #### Tax Calculation

                              Required for international tax and value added tax only.

                              Optional for U.S. and Canadian taxes.

                              Your local currency.

                              '
                          maxAmount:
                            type: string
                            description: Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page.
                          minAmount:
                            type: string
                            description: Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links.
                      lineItems:
                        type: array
                        description: List of the line items from the order.
                        maxItems: 30
                        items:
                          type: object
                          required:
                          - productName
                          description: Line item from the order.
                          properties:
                            productSku:
                              type: string
                              maxLength: 255
                              description: 'Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.


                                For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.


                                #### Tax Calculation

                                Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.

                                For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is

                                required when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.

                                '
                            productName:
                              type: string
                              maxLength: 255
                              description: 'For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),

                                this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of

                                the other values that are related to shipping and/or handling.


                                #### Tax Calculation

                                Optional field for U.S., Canadian, international tax, and value added taxes.

                                '
                            quantity:
                              type: integer
                              minimum: 1
                              maximum: 999999999
                              default: 1
                              description: 'Number of units for this order. Must be a non-negative integer.


                                The default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),

                                this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values

                                related to shipping and/or handling.


                                #### Tax Calculation

                                Optional field for U.S., Canadian, international tax, and value added taxes.

                                '
                            unitPrice:
                              type: string
                              maxLength: 15
                              description: 'Per-item price of the product. This value for this field cannot be negative.


                                You must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.


                                You can include a decimal point (.), but you cannot include any other special characters.

                                The value is truncated to the correct number of decimal places.


                                #### DCC with a Third-Party Provider

                                Set this field to the converted amount that was returned by the DCC provider. You must include either

                                the 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.


                                #### Tax Calculation

                                Required field for U.S., Canadian, international and value added taxes.


                                #### Zero Amount Authorizations

                                If your processor supports zero amount authorizations, you can set this field to 0 for the

                                authorization to check if the card is lost or stolen.


                                #### Maximum Field Lengths

                                For GPN and JCN Gateway: Decimal (10)

                                All other processors: Decimal (15)

                                '
                            productDescription:
                              maxLength: 2000
                              type: string
                              description: Brief description of item.
                            discountAmount:
                              type: string
                              maxLength: 13
                              description: 'Discount amount applied to the item. Maximum of 2 decimal places. You may provide either discountAmount or discountPercent (not both).

                                If both are present, their values must be consistent. Otherwise, a validation error will be returned.

                                '
                              example: '10.00'
                            discountPercent:
                              type: string
                              maxLength: 6
                              description: 'Discount rate applied to the item. Maximum of 3 decimal places. You may provide either discountAmount or discountPercent (not both).

                                If both are present, their values must be consistent; otherwise, a validation error will be returned.

                                Example: 5.25 (=5.25%)

                                '
                              example: '5.25'
                            taxAmount:
                              type: string
                              maxLength: 15
                              description: 'Tax amount applied to the item. This value cannot be negative. Maximum of 2 decimal places. The tax amount and the offer amount must

                                be in the same currency. The tax amount field is additive. If taxAmount is provided but taxRate is not, the taxRate will be calculated.

                                '
                              example: '10.50'
                            taxRate:
                              type: string
                              maxLength: 7
                              description: 'Tax rate applied to the item. Valid range: 1.001% to 99.999%. Maximum of 3 decimal places.

                                If a taxRate is provided but taxAmount is missing or incorrect, the taxAmount based on the given taxRate will be overwritten.

                                Example: 21.00 (=21.00%)

                                '
                              example: '21.00'
                example:
                  _links:
                    self:
                      href: /ipl/v2/payment-links/98753
                      method: GET
                    update:
                      href: /ipl/v2/payment-links/98753
                      method: PATCH
                  id: '98753'
                  submitTimeUtc: '2019-06-28T19:48:06Z'
                  status: ACTIVE
                  processingInformation:
                    linkType: PURCHASE
                    requestPhone: false
                    requestShipping: false
                  purchaseInformation:
                    purchaseNumber: '23412'
                    createdDate: '2018-08-11T22:47:57Z'
                    paymentLink: https://pay.cybersource.com/ipl/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc
                  orderInformation:
                    amountDetails:
                      totalAmount: '12.05'
                      currency: USD
                      minAmount: '1'
                    lineItems:
                    - productName: First line item's name
                      productDescription: First line item's description
                      unitPrice: '12.05'
                      quantity: '10'
            application/hal+json:
              schema:
                title: pblPaymentLinksPost201Response
                type: object
                properties:
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            description: This is the endpoint of the resource that was created by the successful request.
                          method:
                            type: string
                            description: '`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource.'
                      update:
                        type: object
                        properties:
                          href:
                            type: string
                            description: This is the endpoint of the resource that was created by the successful request.
                          method:
                            type: string
                            description: '`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource.'
                  id:
                    type: string
                    maxLength: 26
                    description: 'An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.

                      It is also appended to the endpoint of the resource.

                      On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.

                      '
                  submitTimeUtc:
                    type: string
                    description: 'Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`

                      **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).

                      The `T` separates the date and the time. The `Z` indicates UTC.


                      Returned by Cybersource for all services.

                      '
                  status:
                    type: string
                    description: 'The status of the purchase or donation link.


                      Possible values:

                      - ACTIVE

                      - INACTIVE

                      '
                  processingInformation:
                    type: object
                    required:
                    - linkType
                    description: Contains processing information, such as the type and collection details.
                    properties:
                      linkType:
                        type: string
                        description: "linkType defines what type of link you want to create.\n\nPossible Values:\n  - `PURCHASE`\n  - `DONATION`\n"
                      requestPhone:
                        type: boolean
                        description: Collect the payers phone number during the payment.
                        default: false
                      requestShipping:
                        type: boolean
                        description: Collect the payers shipping address during the payment.
                        default: false
                  purchaseInformation:
                    type: object
                    description: Contains link specific detail.
                    properties:
                      purchaseNumber:
                        type: string
                        maxLength: 50
                        description: The purchase number
                      createdDate:
                        type: string
                        x-example: '2018-08-11T22:47:57Z'
                        description: 'Date and time (UTC) the invoice was created.


                          Format: YYYY-MM-DDThh:mm:ssZ Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.

                          '
                      paymentLink:
                        type: string
                        description: Returns the link to a purchase or donation link when the status is `ACTIVE`.
                  orderInformation:
                    type: object
                    description: Contains all of the order-related fields, such as the amount and line item details.
                    properties:
                      amountDetails:
                        type: object
                        description: Contains all of the amount-related fields.
                        properties:
                          totalAmount:
                            type: string
                            maxLength: 19
                            description: "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
                          currency:
                            type: string
                            maxLength: 3
                            description: 'Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)


                              #### Used by

                              **Authorization**

                              Required field.


                              **Authorization Reversal**

                              For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.


                              #### PIN Debit

                              Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).

                              Returned by PIN debit purchase.


                              For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.

                              For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).


                              Required field for PIN Debit purchase and PIN Debit credit requests.

                              Optional field for PIN Debit reversal requests.


                              #### GPX

                              This field is optional for reversing an authorization or credit.


                              #### DCC for First Data

                              Your local currency.


                              #### Tax Calculation

                              Required for international tax and value added tax only.

                              Optional for U.S. and Canadian taxes.

                              Your local currency.

                              '
                          maxAmount:
                            type: string
                            description: Maximum custom amount allowed for Donation. The customer cannot enter more than maxAmount on payment checkout page.
                          minAmount:
                            type: string
                            description: Minimum custom amount allowed for Donation. The customer cannot enter less than minAmount on payment checkout page. Required for DONATION links.
                      lineItems:
                        type: array
                        description: List of the line items from the order.
                        maxItems: 30
                        items:
                          type: object
                          required:
                          - productName
                          description: Line item from the order.
                          properties:
                            productSku:
                              type: string
                              maxLength: 255
                              description: 'Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.


                                For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.


                                #### Tax Calculation

                                Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.

                                For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is

                                required when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.

                                '
                            productName:
                              type: string
                              maxLength: 255
                              description: 'For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),

                                this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of

                                the other values that are related to shipping and/or handling.


                                #### Tax Calculation

                                Optional field for U.S., Canadian, international tax, and value added taxes.

                                '
                            quantity:
                              type: integer
                              minimum: 1
                              maximum: 999999999
                              default: 1
                              description: 'Number of units for this order. Must be a non-negative integer.


                                The default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),

                                this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values

                                related to shipping and/or handling.


                                #### Tax Calculation

                                Optional field for U.S., Canadian, international tax, and value added taxes.

                                '
                            unitPrice:
                              type: string
                              maxLength: 15
                              description: 'Per-item price of the product. This value for this field cannot be negative.


                                You must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.


                                You can include a decimal point (.), but you cannot include any other special characters.

                                The value is truncated to the correct number of decimal places.


                                #### DCC with a Third-Party Provider

                                Set this field to the converted amount that was returned by the DCC provider. You must include either

                                the 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.


                                #### Tax Calculation

                                Required field fo

# --- truncated at 32 KB (416 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-payment-links-api-openapi.yml