On This Page
Test Your Setup
Cybersource
recommends that you test and verify
that your payment system can securely send and receive REST API messages before
transitioning to a production account. Use the test examples provided in this section to
test your set up. You should also test any additional API requests that you will use in
your live environment. Troubleshooting Using the REST SDK
You can also use the REST Client SDK to review how the SDK constructs, sends and
receives JWT messages with MLE. If you are receiving unsuccessful responses from
your custom integration, comparing how your system sends and receives messages to
the REST SDK can be helpful. For more information about how to install the REST
Client SDK into your system, see the Install the REST SDK
section.
Test Your REST—API Response MLE Key
Follow these steps to verify that your API response MLE key is working. If you
have not already created or submitted an API response MLE certificate, see the Create or
Submit a REST—API Response MLE Key section in Enable Message-Level Encryption.
- Go to the REST API Reference page in theCybersourceDeveloper Center:
- On the left navigation panel, choose an API that supports MLE. For testing purposes, you can chooseIntelligent Commerce > Intelligent Commerce Product > Enroll a Card.MLE support is indicated byRequest MLEandResponse MLEat the top of the screen.

- Choose theMLE Configurationtab.
- In the Message Level Encryption Credentials section, enter your API response MLE key credentials:
- Response encryption:Enter the key ID of your REST—API response MLE key.You saved this key ID in Step 10 in the Create or Submit a REST—API Response MLE Key section in Enable Message-Level Encryption.
- Response decryption:ClickBrowseto submit your own private decryption key from your local system. Only.p12files are supported.

- ClickUpdate Credentials.
- From theSenddrop-down menu, chooseSend Request with Message Level Encryption.
- ClickSend.

- If aSuccess: HTTP Status Code: 201message displays in the Response section, your REST—API response MLE key is verified as properly configured.

Completing a Test Transaction
After setting up your system to be REST compliant, you can send these test requests
to verify that you can send and receive REST API messages.
IMPORTANT
Depending on your payment processor, you may be required to send additional
fields that are not shown in these examples.
Follow these steps to verify that you can complete a test transaction:
- Authorize a Payment
- You send this POST request to theendpoint:https://apitest.cybersource.com/pts/v2/payments{ "orderInformation": { "billTo": { "country": "US", "lastName": "Kim", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "Kyong-Jin", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "expirationMonth": "12", "type": "001" } } }
- You receive a successful response and store the authorization transaction ID in theidfield. A successful response is indicated by a 201 HTTP status code."id" : "6461731521426399003473"
- Capture an Authorized Payment
- You send this POST request to theendpoint and include the authorization transaction ID as thehttps://apitest.sa.cybersource.com/pts/v2/payments/{id}/captures:{id}https://apitest.sa.cybersource.com/pts/v2/payments/6461731521426399003473/captures{ "clientReferenceInformation": { "code": "ABC123" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }
- You receive a successful response and store the capture transaction ID in theidfield. A successful response is indicated by a 201 HTTP status code."id": "6772994431376681303954"
- Refund a Captured Payment
- You send this POST request to theendpoint and include the capture transaction ID as thehttps://apitest.cybersource.com/pts/v2/payments/{id}/refunds:{id}https://apitest.cybersource.com/pts/v2/payments/6772994431376681303954/refunds{ "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }
- You receive a successful response, which verifies that your system can complete a transaction. A successful response is indicated by a 201 HTTP status code.