Oxxo is a server to server only payment method to increase conversion
Transaction Types | Meaning | Success return codes |
---|---|---|
PA | Successful generation of the Oxxo payment slip. The shopper can go and pay for it at any Oxxo store in Mexico. | 000.000.000 000.100.112 (on staging) |
RC | Successful payment of the Oxxo payment slip. The payment of the Oxxo slip is asynchronous and hence the confirmation will usually come in within 1-3 business days | 000.000.000 |
Initial Request
//send POST to https://test.oppwa.com/v1/payments
//Header -H "Authorization: Bearer OGE4Mjk0MTg0ZTczNjAxMj1234E2YTE1YjB8ZjJGRUtacXRCUA=="
//API credentials
entityId=8a8294174ae8145684aedfd75aa1d79 //entityId without authentication"
//API credentials end
amount=10.00 paymentType=PA currency=MXN merchantTransactionId=123456 paymentBrand=OXXO billing.country=MX shopperResultUrl=http://google.com //Although there is no re-direct back from the Boleto to your shop, our API requires this parameter to be present testMode=EXTERNAL
Successful Response
{ "id": "8ac7a49f6855fc58016858092e4d6e26", "paymentType": "PA", "paymentBrand": "BOLETO", "amount": "10.00", "currency": "MXN", "descriptor": "9201.9521.3874 BoletosTest_Mexico ", "merchantTransactionId": "123456", "result": { "code": "000.100.112", "description": "Request successfully processed in 'Merchant in Connector Test Mode'" }, "resultDetails": { "ExtendedDescription": "Transaction succeeded", "AuthCode": "700000000001431901201900010005", "ConnectorTxID1": "8ac7a49f6855fc58016858092e4d6e26", "AcquirerResponse": "00" }, "billing": { "country": "MX" }, "redirect": { "url": "https://serti.io/primeiro/v1/payments/oxxo/beda6dbe14f845e2a2e30658b437b32432", "method": "POST", "parameters": [ ] }, "buildNumber": "7a657990dc4e456c4b1f78eb30c06a0a20b76d67@2019-01-15 12:29:51 +0000", "timestamp": "2019-01-16 19:00:25+0000", "ndc": "8a82941865d7e66c0165e76a6d861c1e_171ecf9107ae48a4a751bb85490c94fe" }
Re-directing the shopper
From the success response you will be able to extract the URL to where you re-direct the shopper to in order to display the Oxxo slip itself. Please note that the staging environment of the bank may show an error from time to time instead of the actual payment slip.
Retrieve notifications when the Oxxo slip is paid
Please refer to section webhooks
{"type":"PAYMENT","payload":{"id":"8ac7a49f6855fc58016858092e4d6e26","paymentType":"PA","paymentBrand":"BOLETO","amount":"10.0","currency":"MXN","presentationAmount":"10.0","presentationCurrency":"MXN","descriptor":"9201.9521.3874 BoletosTest_Mexico ","merchantTransactionId":"123456","result":{"code":"000.100.112","description":"Request successfully processed in 'Merchant in Connector Test Mode'","randomField983954327":"Please allow for new unexpected fields to be added"},"resultDetails":{"ExtendedDescription":"Transaction succeeded","AcquirerResponse":"00","AuthCode":"700000000001431901201900010005","ConnectorTxID1":"8ac7a49f6855fc58016858092e4d6e26"},"billing":{"country":"MX"},"authentication":{"entityId":"8a82941865d7e66c0165e76a6d861c1e"},"redirect":{"url":"https://serti.io/primeiro/v1/payments/oxxo/beda6dbe14f845e2a2e30658b437b323","method":"POST","parameters":[{"name":"barcode","value":"700000000001431901201900010005"}]},"risk":{"score":""},"timestamp":"2019-01-16 19:00:25+0000","ndc":"8a82941865d7e66c0165e76a6d861c1e_171ecf9107ae48a4a751bb85490c94fe","merchantAccountId":"8a82941865d7e66c0165e76c483f1c26"}}
Field specifications
Name | Description | Format | Example |
amount | Amount of the payment request. The dot is used as a decimal separator. | N13 [0- 9]{1,10}\.[0 -9]{2} | 1.00 |
currency | Currency Code according to ISO 4217 specifications of the payment request’s amount | A3 [a-zA-Z]{3} | MXN |
paymentBrand | The brand specifies the method for the request | AN32 [a-zA-Z0- 9_] {1,32} | BOLETO |
paymentType | The payment type for the request | A2 | PA |
Authentication.userID | The userId for the entity. Required for a server-to-server request | AN32 [a-zA-Z0- 9]{32} | 8a8294174ae82ada014 aedf7fb151d5f |
Authentication.password | The password for the entity (channel). Required for a server-to-server request | AN32 [a-zA-Z0- 9]{8,32} | AKdx7nmH |
authentication.entityId | The entity for the request. (e.g. channel) | AN32 [a-zA-Z0- 9]{32} | 8a8294174ae82ada014 aedfd75aa1d79 |
merchantTransactionID | Merchant-provided reference number | AN255 [\s\S]{1,25 5} | 1234 |
billing.country | Billing Country (has to be MX for Oxxo to work. | A2 | MX |