Payment Methods Available

Cards

payment_method_idNamepayment_method_typeDetailsAllowed FlowsLogo
VIVisaCARDCredit Card ​DIRECT REDIRECTLogo
MCMasterCardCARDCredit Card ​DIRECT REDIRECTLogo
VDVisa Debit ​CARDDebit Card ​DIRECT REDIRECTLogo
MDMasterCard Debit ​CARDDebit Card ​DIRECT REDIRECTLogo
AEAmerican ExpressCARDCredit Card ​DIRECT REDIRECTLogo
KCCarnet CreditCARDCredit Card ​DIRECT REDIRECTLogo
KDCarnet DebitCARDDebit Card ​DIRECT REDIRECTLogo

Alternative Payment Method

payment_method_idNamepayment_method_typeDetailsAllowed FlowsLogo
OXOXXOTICKETCash PaymentsDIRECT REDIRECTLogo
SESPEIBANK_TRANSFERBank Transfer OnlineDIRECT REDIRECTLogo
IOBank TransferBANK_TRANSFERBank Transfer OnlineDIRECT REDIRECTLogo
CQCODIBANK_TRANSFERCodi QR codeDIRECT REDIRECTLogo
CJCODIBANK_TRANSFERCodi Push NotificationDIRECT REDIRECTLogo
BVBBVA BancomerBANK_TRANSFERBank Transfer OnlineREDIRECTLogo
BQBanorteBANK_TRANSFERBank Transfer OnlineREDIRECTLogo
SMSantanderBANK_TRANSFERBank Transfer OnlineREDIRECTLogo
MPMercado PagoBANK_TRANSFERWalletREDIRECTLogo

Direct Alternative Payment Methods

OXXO

Example

curl -X POST \
    -H 'X-Date: 2018-02-20T15:44:42.310Z' \
    -H 'X-Login: sak223k2wdksdl2' \
    -H 'X-Trans-Key: fm12O7G9' \
    -H 'Content-Type: application/json' \
    -H 'X-Version: 2.1' \
    -H 'Authorization: V2-HMAC-SHA256, Signature: 1bd227f9d892a7f4581b998c21e353b1686a6bdad5940e7bb6aa596c96e0a6ec' \
    -d '{body}'
    https://api.dlocal.com/payments

{
    "amount": 100,
    "currency": "MXN",
    "country": "MX",
    "payment_method_id": "OX",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Pedro Gomes",
        "email": "[email protected]",
        "document": "42243309114"
    },
    "order_id": "jhg4v34v534",
    "notification_url": "http://merchant.com/notification/new"
}
{
    "id": "D-4-fecd8cfd-29a4-4bcc-87d0-75c057a8a2ec",
    "amount": 100,
    "currency": "MXN",
    "payment_method_id": "OX",
    "payment_method_type": "TICKET",
    "payment_method_flow": "DIRECT",
    "country": "MX",
    "ticket": {
        "type": "REFERENCE_CODE",
        "number": "8500-0273-6135-11",
        "expiration_date": "2020-02-13T23:59:00.000+0000",
        "image_url": "https://pay.dlocal.com/gmf/payments/M-6dc6f070-46c4-11ea-addf-83f8a04e38b5"
    },
    "created_date": "2020-02-03T20:33:25.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "jhg4v34v534",
    "notification_url": "http://merchant.com/notification/new"
}
808808

Example mobile UI built with the information in the example above.

👍

User Interface Tips

  • Separate the ticket.number this way: 4 digits - 5 digits - 5 digits. It is easier for users to dictate it to cashiers.
  • Currency and amount should be relevant elements in the ticket. Users need to be aware of that at all times.
  • Make sure that the expiration date is clear and visible enough. In Mexico people use the dd/mm/yyyy format.
  • Include payment instructions. Although most users are familiarized with OXXO payment method, it is a good practice to help those who are not used to it. In the image above there is an example of instructions, but if needed, our team will be happy to help you with more personalized instructions.
  • A Store locator is a helpful feature. Just link it to https://google.com/maps/search/oxxo/.
  • A Download button helps users to have their ticket always on their phone, making it needless to take notes or keep the browser opened.
  • A Print button is useful for some users that need to have their tickets printed.

Bank Transfer

Example

curl -X POST \
    -H 'X-Date: 2018-02-20T15:44:42.310Z' \
    -H 'X-Login: sak223k2wdksdl2' \
    -H 'X-Trans-Key: fm12O7G9' \
    -H 'Content-Type: application/json' \
    -H 'X-Version: 2.1' \
    -H 'Authorization: V2-HMAC-SHA256, Signature: 1bd227f9d892a7f4581b998c21e353b1686a6bdad5940e7bb6aa596c96e0a6ec' \
    -d '{body}'
    https://api.dlocal.com/payments

{
    "amount": 100,
    "currency": "MXN",
    "country": "MX",
    "payment_method_id": "IO",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Pedro Gomes",
        "email": "[email protected]",
        "document": "42243309114"
    },
    "order_id": "jhg4v3215t4",
    "notification_url": "http://merchant.com/notification/new"
}
{
    "id": "D-4-0ceeef7a-854b-4181-afd8-d7ef748914a5",
    "amount": 100,
    "currency": "MXN",
    "payment_method_id": "IO",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "DIRECT",
    "country": "MX",
    "bank_transfer": {
        "bank_account_type": "CHECKING",
        "bank_name": "STP",
        "bank_code": "STP",
        "beneficiary_name": "Dlocal MX",
        "bank_account": "646180205700001446",
        "bank_account_label": "CLABE",
        "reference": "0000144",
        "redirect_url": "https://pay.dlocal.com/gmf-apm/payments/M-24d932cf-fb12-4521-999e-7faf3e60d865",
        "user_payment_amount": 100,
        "payment_instruction": "Ingresa a tu banca en línea y realiza la transferencia a la siguiente cuenta. Recuerda que no se pueden hacer pagos en ventanilla.",
        "expiration_date": "2021-03-24T05:59:00.000+0000"
    },
    "ticket": {},
    "created_date": "2021-03-18T18:34:15.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "386fe81e-3075-4d4c-8725-28abbb1462f3",
    "notification_url": "http://conductor.sandbox.internal/robot-server/rest/generic/notification/new"
}
921921

Example STP UI built with the information in the example above.

👍

User Interface Tips

  • Currency and amount should be relevant elements in the ticket. Users need to be aware of that at all times.
  • Display SPEI logo, since bank transfer payment method is known by general public in Mexico as SPEI
  • Make sure that the expiration date is clear and visible enough. In Mexico people use the dd/mm/yyyy format.
  • Add a Copy CLABE button. The CLABE is the only information that all users need to use in order to complete payment. And it is quite long. Adding a feature to copy this number will help to their payment experience.
  • The Concepto de pago (Payment concept) and Referencia (Reference) values are not necessary in order to complete payments, but some banks may ask for them in their flows. So it is recommended to display this information since some users may otherwise get stuck at this point.
  • Also, some banks may pre-populate the Referencia (Reference) field in their payment flows with a different number. Let users know that there is no problem at all if they use the Referencia provided by the bank, the payment will be processed successfully anyway.
  • Include a reminder that payments will only be accepted through home banking. Payment to the cashier at the bank branches is not allowed.

CODI

Example

curl -X POST \
    -H 'X-Date: 2018-02-20T15:44:42.310Z' \
    -H 'X-Login: sak223k2wdksdl2' \
    -H 'X-Trans-Key: fm12O7G9' \
    -H 'Content-Type: application/json' \
    -H 'X-Version: 2.1' \
    -H 'Authorization: V2-HMAC-SHA256, Signature: 1bd227f9d892a7f4581b998c21e353b1686a6bdad5940e7bb6aa596c96e0a6ec' \
    -d '{body}'
    https://api.dlocal.com/payments

{
    "amount": 100,
    "currency": "MXN",
    "country": "MX",
    "payment_method_id": "CD",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Pedro Gomes",
        "email": "[email protected]",
        "document": "42243309114",
        "phone": "527621559017"
    },
    "order_id": "jhg4v3215t4",
    "notification_url": "http://merchant.com/notification/new"
}
{
"id": "D-4-1a64bdbd-faf5-473e-94b5-f96d36ef0d3f",
"amount": 100,
"currency": "MXN",
"payment_method_id": "CD",
"payment_method_type": "TICKET",
"payment_method_flow": "DIRECT",
"country": "MX",
"ticket": {
    "type": "CUSTOM",
    "expiration_date": "2021-02-21T06:49:19.000+0000",
    "id": "14000000001099765",
    "barcode": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAIAAABEtEjdAABeuklEQVR4XuzUQa4cyQ4gwX//S88AvjQ1ARGKrImqSVs2nGRUqvH+939er9fr9XP+5394vV6v1/d7/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9cPev+4v16v1w96/7i/Xq/XD3r/uL9er9c.....",
    "company_name": "DLOCAL MX",
    "provider_name": "codi",
    "provider_logo": "http://static.dlocal.com/images/providers/caixa.png",
    "image_url": "http://pay.dlocal.com/gmf/payments/M-cee70da0-0542-11e9-b88f-39144191f926"
},
"created_date": "2021-02-20T17:06:49.545+0000",
"status": "PENDING",
"order_id": "jhg4v34v534",
"notification_url": "http://conductor.sandbox.internal/robot-server/rest/generic/notification/new"
}
{
"id": "D-4-1a64bdbd-faf5-473e-94b5-f96d36ef0d3f",
"amount": 100,
"currency": "MXN",
"payment_method_id": "CD",
"payment_method_type": "TICKET",
"payment_method_flow": "DIRECT",
"country": "MX",
"ticket": {
    "type": "CUSTOM",
    "expiration_date": "2021-02-21T06:49:19.000+0000",
    "id": "14000000001099765",
    "company_name": "DLOCAL MX",
    "provider_name": "codi",
    "provider_logo": "http://static.dlocal.com/images/providers/caixa.png",
    "image_url": "http://pay.dlocal.com/gmf/payments/M-cee70da0-0542-11e9-b88f-39144191f926"
},
"created_date": "2021-02-20T17:06:49.545+0000",
"status": "PENDING",
"order_id": "jhg4v34v534",
"notification_url": "http://conductor.sandbox.internal/robot-server/rest/generic/notification/new"
}
556556

Example CODI - QR Code UI built with the information in the example above

👍

User Interface Tips

  • Although it is not mandatory, asking for user phone is recommended, since if we receive that information, a push notification will be sent to the user's phone in order to complete the payment. If a phone is not received, a payment QR code will be displayed.
  • Build the QR Codes in UTF-8 format.
  • Currency and amount should be relevant elements in the ticket. Users need to be aware of that at all times.
  • Display CODI logo.
  • Make sure that the expiration time is clear and visible enough.

Did this page help you?