On This Page
Process a Sale
Send a sale request to authorize and capture a payment in the same request. A successful
sale response includes a redirect URL and a pending status. Redirect the customer to the
URL to allow the customer to complete the checkout using P24.
When the customer completes the checkout, the customer is redirected to the merchant
website using the success-URL provided in the sale request.
Line Items
Line items are included in a request in the
lineItem[]
array.For more information about how to properly format line items in your request, see
Using Line Items.
Tax Amounts
You can include the tax amount for every type of purchased product
in the
orderInformation.lineItems[].taxAmount
field when you request the
sale service.Calculating the Grand Total
Include the grand total in the request by using the
orderInformation.amountDetails.totalAmount
field. Endpoints
Production:
POST
https://api.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsResponse Statuses
Cybersource
responds to your sale request with one of these statuses in the status
field:- Sale Status
- FAILED: The sale cannot be completed.
- PENDING: The sale request is accepted but is not completed. Request the check status service every 60 minutes to retrieve status updates. See Check a Request Status.
When you send a check status request to retrieve an updated sale status, these are
the possible responses:
- Check Status for a Sale
- ABANDONED: The customer did not complete the payment using the redirect URL.
- FAILED: The sale cannot be completed.
- FUNDED: The settled amount is funded to the merchant bank account.
- PENDING: The sale request is accepted but is not complete. Continue sending the check status request every 60 minutes.
- SETTLED: The sale request is settled for the requested amount. You cannot receive a settled status until the customer has completed checking out.
Processing a Sale
Follow these steps to successfully process sale.
IMPORTANT
You must include all of the listed required
fields in your sale request to guarantee the redirect URL will display properly to
the customer.
- Send aPOSTrequest to theendpoint and include these required fields:https://api.cybersource.com/pts/v2/payments
- You can include these optional fields in the request:
- orderInformation.lineItems[].productDescription
- orderInformation.lineItems[].taxAmount
- Redirect the customer to the returned URL in theprocessorInformation.paymentUrlresponse field."successUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionsuccess"
- When the customer completes the checkout using their Prz24 credentials, the customer is redirected to the merchant website based on the URL that you included in themerchantInformation.successUrlfield.
- Save the request ID in theidfield from the sale response. Include the request ID in a check status request to confirm that the payment is complete."id": "7546689587576406204805"
Example: Processing a Sale
Request
{ "clientReferenceInformation": { "code": "123" }, "merchantInformation": { "cancelUrl": "https://www.valid.merchant.redirect.url.from.request.html?actioncancel", "failureUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionfailure", "successUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionsuccess" }, "paymentInformation": { "paymentType": { "method": { "name": "P24" }, "name": "bankTransfer" } }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "country": "PL", "email": "test@test.com" }, "amountDetails": { "totalAmount": "600.00", "currency": "PLN" } }, "processingInformation": { "actionList": [ "AP_SALE" ] } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7546689587576406204805/voids" }, "billingAgreement": { "method": "POST", "href": "/pts/v2/billing-agreements/7546689587576406204805" }, "self": { "method": "POST", "href": "/pts/v2/payments/7546689587576406204805" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7546689587576406204805/refunds" }, "status": { "method": "POST", "href": "/pts/v2/refresh-payment-status/7546689587576406204805" } }, "clientReferenceInformation": { "code": "123" }, "id": "7546689587576406204805", "message": "Request was processed successfully.", "orderInformation": { "amountDetails": { "totalAmount": "600.00", "currency": "PLN" } }, "processorInformation": { "responseDetails": "00001", "paymentUrl": "https://payment.limonetikqualif.com/P24/Order/PayPage/896435173864", "transactionId": "896435173864", "responseCode": "00001" }, "reconciliationId": "XFZ3ZE1G1ABL", "status": "PENDING", "submitTimeUtc": "2025-08-08T16:02:39Z" }