Backoffice Operations

You can perform different types of backoffice operations using our Server-to-Server REST API.

Quick links

Note: Backoffice operations can be performed against initial payments that were generated using COPYandPAY or Server-to-Server. The referencedPaymentId is the value return in the id JSON field.

Capture (CP) an authorization

A capture is used to request clearing for previously authorized funds. A capture request is performed against a previous preauthorization (PA) payment by referencing its payment.id and sending a POST request over HTTPS to the /v1/payments/{id} endpoint. Captures can be for full or partial amounts. Note that a capture is a one-time event. Once a capture (even partial) has been performed, the preauthorization is not valid anymore for future captures.

Capture (CP) Request
Response
Capture (CP) Request
curl https://test.oppwa.com/v1/payments/{id} \
-d "entityId=8a8294174e918ca6014e9c6f5ae12a9c" \
-d "amount=1.00" \
-d "currency=BRL" \
-d "paymentType=CP" \
-d "testMode=EXTERNAL" \
-H "Authorization: Bearer OGE4Mjk0MTcyODFiOGVlMzAxMjgyOTkwNjZmNTBjZGJ8ZGVtbw=="
Response
{
"id":"8a8294496242ba5301625069d1b27e3d",
"paymentType":"CP",
"amount":"1.00",
"currency":"BRL",
"descriptor":"123 Usage",
"merchantTransactionId":"Order Number 123",
"result":{
"code":"000.100.112",
"description":"Request successfully processed in 'Merchant in Connector Test Mode'"
},
"customer":{
"merchantCustomerId":"12345678909"
},
"buildNumber":"[email protected] 13:31:26 +0000",
"timestamp":"2018-03-23 01:12:17+0000",
"ndc":"8a8294174e918ca6014e9c6f5ae12a9c_9bba1957b8e2492485f25fea121a0842"
}

Refund (RF) a payment

A refund is performed against a previous payment, referencing its payment.id by sending a POST request over HTTPS to the /v1/payments/{id} endpoint. A refund can be performed against debit (DB) or captured preauthorization (PA->CP) payment types. Where supported, the amount field can be used to process a partial or full amount.

Refund (RF) Request
Response
Refund (RF) Request
curl https://test.oppwa.com/v1/payments/{id} \
-d "entityId=8a8294174e918ca6014e9c6f5ae12a9c" \
-d "amount=1.00" \
-d "currency=BRL" \
-d "paymentType=RF" \
-d "testMode=EXTERNAL" \
-H "Authorization: Bearer OGE4Mjk0MTcyODFiOGVlMzAxMjgyOTkwNjZmNTBjZGJ8ZGVtbw=="
Response
{
"id":"8a82944a6242c8f00162506ec4b30d44",
"paymentType":"RF",
"amount":"1.00",
"currency":"BRL",
"descriptor":"123 Usage",
"merchantTransactionId":"Order Number 123",
"result":{
"code":"000.100.112",
"description":"Request successfully processed in 'Merchant in Connector Test Mode'"
},
"customer":{
"merchantCustomerId":"12345678909"
}, "buildNumber":"[email protected] 13:31:26 +0000",
"timestamp":"2018-03-23 01:17:41+0000",
"ndc":"8a8294174e918ca6014e9c6f5ae12a9c_29f945aaf03d4d10908622d4a66e6632"}

Allowed Refund timelines

Country

Connector

Refund timeline (days after purchase)

Argentina

First Data

1 year from the original purchase.

Argentina

Prisma

90 days, it is recommended to do it in the same month.

Argentina

Mercadopago

90 days.

Brazil

Cielo

Visa: 300 days Master: 180 days.

Brazil

Stone

Credit: 350 days Debit: 90 days.

Brazil

Rede

90 days.

Brazil

Mercadopago

120 days.

Chile

Transbank

11 months.

Colombia

Redeban

120 days.

Colombia

Credibanco

10 months

México

Openpay/BBVA

180 days, recommended to be done in the same month.

México

Banorte

90 days.

Perú

Niubiz

Via API: 6 months. Via Niubiz: 1 year.

Reverse (RV) a payment

A reversal is performed against a previous payment, referencing its payment.id by sending a POST request over HTTPS to the /v1/payments/{id} endpoint. A reversal can be sent against debit (DB) or preauthorization (PA) payment types. When reversing a card payment and if sent within 72 hours of the original request, a reversal causes an authorization reversal request to be sent the card issuer to clear the funds held against the authorization.

Reversal (RV) Request
Response
Reversal (RV) Request
curl https://test.oppwa.com/v1/payments/{id} \
-d "entityId=8a8294174e918ca6014e9c6f5ae12a9c" \
-d "paymentType=RV" \
-d "testMode=EXTERNAL" \
-H "Authorization: Bearer OGE4Mjk0MTcyODFiOGVlMzAxMjgyOTkwNjZmNTBjZGJ8ZGVtbw=="
Response
{
"id":"8a82944a6242c8f00162505f33cf77ef",
"paymentType":"RV",
"amount":"1.00",
"currency":"MXN",
"descriptor":"7861.8263.2098 MX_CC_Initial 123 Usage",
"merchantTransactionId":"Order Number 321",
"result":{
"code":"000.100.112",
"description":"Request successfully processed in 'Merchant in Connector Test Mode'"
},
"buildNumber":"[email protected] 13:31:26 +0000",
"timestamp":"2018-03-23 01:00:40+0000",
"ndc":"8a8294174e918ca6014e9c6f5ae12a9c_2d815eace88a4243ad4f1b1345408c76"
}

Note: A full reversal does not require the amount or currency to be sent. If the acquirer supports it, partial reversals are also possible. In this latter case amount and currency must be specified in the request.