Cybersource integration guide

Cybersource Cybersource is a gateway that allows you to collect card payments. This guide is intended to help you implement Cybersource based on your preferred integration workflow.

Services and compatibility

Supported payment types
  • Card
Supported transaction types
Supported processing currenciesAED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BWP, BYN, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SEK, SGD, SHP, SLL, SOS, SRD, STN, SVC, SZL, THB, TJS, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VND, VUV, WST, XCD, XOF, XPF, YER, ZAR, ZMW
3D Secure 1.x supportedYes
3D Secure 2.x supportedYes
External 3D Secure supportedYes
Installments supportedYes

Gateway-specific information

🚧

Important

  • By default, Cybersource does not block multiple refunds, even if they exceed the original amount. For assistance, contact Integrations Support.
  • Cybersource does not settle batches immediately.
  • paymentType is not supported.
  • In a payment request, cardType can be any of the following: visa, mastercard, amex, discover, jcb, dinersclub, carteblanche, or not included.

Configuration

Work with Integrations Support to add Cybersource as a connection. You will need the following credentials from Cybersource:

  • Merchant ID
  • Merchant key ID
  • Merchant secret key

Required fields

The following fields are required when processing a payment request with Cybersource:

  • card.expirationMonth
  • card.expirationYear
  • data.amount
  • data.customer.firstName
  • data.customer.lastName
  • data.customer.email

📘

Note

Most payment processors through Cybersource also require billing and shipping address information. Therefore, you may want to include that information in the request as well.

  • data.customer.billToAddressOne
  • data.customer.billToAddressTwo
  • data.customer.billToCity
  • data.customer.billToState
  • data.customer.billToPostal
  • data.customer.billToCountry
  • data.customer.shipToAddressOne
  • data.customer.shipToAddressTwo
  • data.customer.shipToCity
  • data.customer.shipToState
  • data.customer.shipToPostal
  • data.customer.shipToCountry

If you are having issues with transactions that are rejected by Cybersource because of potential fraud, include the clientIp parameter in the payment request and explicitly set the value as the IP address of the device where the customer is submitting the payment information. If you do not explicitly set a value, it looks to Cybersource as if the exact same IP address is sending out an inordinate amount of traffic and it is not possible to separate out the valid and invalid requests.

Testing data

Use the following test card information to test your Cybersource configuration.

BrandCard numberExpiration dateSecurity codeCardholder name3DSTransaction result
Visa4622943127013705Any future date838AnyN/ASuccess
Mastercard5105105105105100Any future dateAnyAnyN/ASuccess
Discover6011111111111117Any future dateAnyAnyN/ASuccess

Status workflows

The status of a successful transaction with Cybersource varies, depending on the options you choose.

SaleWhen isAuthOnly is false, successful sale transactions will have the following statuses:
  • pending* or authorized
  • settled
Auth onlyWhen isAuthOnly is true, successful sale transactions will have the following status:
  • authOnly
CaptureSuccessful capture transactions will have the following statuses:
  • pending* or authorized
  • settled
VoidSuccessful void transactions will have the following status:
  • voided
RefundSuccessful refund transactions will have the following statuses:
  • pending* or authorized
  • settled

*Pending status displays as "authorized" or "AUTHORIZED" in the Nexio Dashboard; it displays as 10, meaning "authorized", in the response when querying transactions (for more information about transactionStatus, see the appropriate transactionStatus table).

If you have any additional questions or feedback, contact us.

See also