Oxxo

Oxxo is a Mexican voucher-based payment method. Shoppers order items online, select Oxxo at checkout and receive a voucher. Then, they pay in cash for their purchase with that voucher at one of the over 13,000 OXXO stores in the country. Because many people in Mexico don't have a bank account or credit card, this is a popular eCommerce payment method.

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

API Endpoint: https://test.oppwa.com/v1/payments

//send POST to  [https://test.oppwa.com/v1/payments](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](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

Successful Response

{
    "id":"8ac7a49f6855fc58016858092e4d6e26",
    "paymentType":"PA",
    "paymentBrand":"OXXO",
    "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"](https://serti.io/primeiro/v1/payments/oxxo/beda6dbe14f845e2a2e30658b437b32432%22),
        "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

Sample webhook of a paid Boleto

{
   "type":"PAYMENT",
   "payload":{
      "id":"8ac7a49f6855fc58016858092e4d6e26",
      "paymentType":"PA",
      "paymentBrand":"OXXO",
      "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](https://serti.io/primeiro/v1/payments/oxxo/beda6dbe14f845e2a2e30658b437b323%22,%22method%22:%22POST%22,%22parameters%22:[%7B%22name%22:%22barcode%22,%22value%22:%22700000000001431901201900010005%22%7D]%7D,%22risk%22:%7B%22score%22:%22%22%7D,%22timestamp%22:%222019-01-16) 19:00:25+0000",
      "ndc":"8a82941865d7e66c0165e76a6d861c1e_171ecf9107ae48a4a751bb85490c94fe",
      "merchantAccountId":"8a82941865d7e66c0165e76c483f1c26"
   }
}

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

Last updated