FILTER BY TAG

Process a Sale

This section describes how to send a sale request to process a payment.
A sale request authorizes and captures a payment in the same request. A successful sale response includes an GroupUp redirect URL and a
PENDING
status. Redirect the customer to the GroupUp URL to allow the customer to complete the checkout using their GroupUp account. When the customer completes the checkout, the customer is redirected to your website.
When you receive a successful response, save the sale request ID in the
id
response field to perform a follow-on check status request or refund request.

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/payments
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments

Processing a Sale

Follow these steps to successfully process sale.
  1. Send a
    POST
    request to the endpoint and include these required fields:
    clientReferenceInformation.code
    merchantInformation.cancelUrl
    merchantInformation.failureUrl
    merchantInformation.successUrl
    orderInformation.amountDetails.currency
    Set to
    EUR
    .
    orderInformation.amountDetails.totalAmount
    orderInformation.billTo.country
    orderInformation.billTo.email
    orderInformation.billTo.firstName
    orderInformation.billTo.lastName
    paymentInformation.paymentType.method.name
    Set to
    GROUPUP
    .
    paymentInformation.paymentType.name
    processingInformation.actionList
    Set to
    AP_SALE
    .
  2. You can include these optional fields in the request:
    merchantDefinedInformation[].key
    merchantInformation.merchantDescriptor
    orderInformation.billTo.address1
    orderInformation.billTo.address2
    orderInformation.billTo.administrativeArea
    orderInformation.billTo.locality
    orderInformation.billTo.phoneNumber
    orderInformation.billTo.postalCode
    orderInformation.lineItems[].productCode
    orderInformation.lineItems[].productName
    orderInformation.lineItems[].productSku
    orderInformation.lineItems[].quantity
    orderInformation.lineItems[].taxAmount
    orderInformation.lineItems[].totalAmount
    orderInformation.lineItems[].unitPrice
  3. Redirect the customer to the returned URL in the
    merchantInformation.successUrl
    response field.
    "successUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionsuccess"
  4. When the customer completes the checkout using their GroupUp credentials, the customer is redirected to the merchant website based on the URL that you included in the
    merchantInformation.successUrl
    request field.
  5. Save the request ID in the
    id
    field from the sale response. Include the request ID in a check status request to confirm that the payment is complete.
    "id": "7546757907606782704806"

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": "GROUPUP" }, "name": "Voucher" } }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "country": "FR", "email": "test@test.com" }, "amountDetails": { "totalAmount": "10.00", "currency": "EUR" } }, "processingInformation": { "actionList": [ "AP_SALE" ] } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7546757907606782704806/voids" }, "billingAgreement": { "method": "POST", "href": "/pts/v2/billing-agreements/7546757907606782704806" }, "self": { "method": "POST", "href": "/pts/v2/payments/7546757907606782704806" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7546757907606782704806/refunds" }, "status": { "method": "POST", "href": "/pts/v2/refresh-payment-status/7546757907606782704806" } }, "clientReferenceInformation": { "code": "123" }, "id": "7546757907606782704806", "message": "Request was processed successfully.", "orderInformation": { "amountDetails": { "totalAmount": "10.00", "currency": "EUR" } }, "processorInformation": { "responseDetails": "00001", "paymentUrl": "https://payment.limonetikqualif.com/Conecs/Order/PayPage/960636547358", "transactionId": "960636547358", "responseCode": "00001" }, "reconciliationId": "XFZ55E33PZ6F", "status": "PENDING", "submitTimeUtc": "2025-08-08T17:56:32Z" }

Response Statuses for Processing a Sale

Cybersource
responds to your sale request with one of these statuses in the
status
field:
  • FAILED
    : The sale cannot be completed.
  • PENDING
    : The sale request is accepted but is not completed. Send a check status request as often as necessary to obtain the information that you need. For more information, see Check a Transaction Status.