PagoEfectivo is a server to server only and can be used in Colombia, Peru and Ecuador.
To use PagoEfectivo, you have to use follow their brand guide, listed below:
Country | Currency Accepted |
---|---|
Colombia | COP |
Ecuador | USD |
Peru | PEN, USD |
Transaction Types | Meaning | Success return codes |
---|---|---|
PA | Successful generation of the PagoEfectivo 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 PagoEfectivo payment slip. The payment of the PagoEfectivo 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=COL merchantTransactionId=123456 paymentBrand=PAGO_EFECTIVO customParameters[CUSTOM_due_date]=23032020 122343 //optional. DDMMAAAA HHMMSS. If not set, default is 3 days. customParameters[DOCTYPE]=DNI //optional. Can be one of the following: DNI (Documento nacional de identidad),PAR (Partida),PAS (Pasaporte),LMI (Libreta militar),NAN (another type) customParameters[DOCNUMBER]=21321321321354 //14 digits, numeric only. customer.phone=32523534532 //optional, phone number with country code. If sent, will be used to send SMS reminders by Pago_Efectivo. customer.email=teste@teste.com // optional. customer.givenName=Peter //optional customer.surname=Prado //optional billing.postcode=232424//optional billing.country=EC -> ALWAYS USE EC AS COUNTRY, EVEN IF THE SHOPPER IS IN ANOTHER COUNTRY. shopperResultUrl=http://google.com //Although there is no re-direct back from PagoEfectivo slip to your shop, our API requires this parameter to be present testMode=EXTERNAL // Send this only on test. Delete this entry in live. |
Successful Response
{ "type":"PAYMENT", "payload":{ "id":"8ac7a49f6855fc5801685805636585566", "paymentType":"PA", "paymentBrand":"PAGO_EFECTIVO", "amount":"10.0", "currency":"COL", "presentationAmount":"10.0", "presentationCurrency":"COL", "descriptor":"9201.9521.3874", "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":"Solicitud exitosa", "AcquirerResponse":"100", "ConnectorTxID1":"2315324" }, "billing":{ "country":"EC" }, "authentication":{ "entityId":"8a82941865d7e66c0165e76a6d861c1e" }, "redirect":{ "url":"https://pre1a.payment.pagoefectivo.pe/3EA6FED6-0A17-463C-BE9D-763007D0E7AB.html", "method":"GET", "parameters":[] }, "timestamp":"2019-01-16 19:00:25+0000", "ndc":"8a82941865d7e66c0165e76a6d861c1e_171ecf9107ae48a4a751bb85490c94fe", "merchantAccountId":"8a82941865d7e66c0165e76c483f1c26" } } |
Re-directing the shopper
From the success response you will be able to extract the URL (under redirect → URL) to where you re-direct the shopper to in order to display the PagoEfectivo 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 Pago-Efectivo slip is paid
PagoEfectivo use webhooks to inform paid slips.
Webhooks with paymentType RC and result_code = '000.000.000' (or 000.100.112 on staging )are PagoEfectivo payment slips paid.
{"type":"PAYMENT","payload":{"id":"8ac7a49f6855fc58016858092e4d6e26","paymentType":"RC","paymentBrand":"PAGO-EFECTIVO","amount":"10.0","currency":"COL","presentationAmount":"10.0","presentationCurrency":"COL","descriptor":"9201.9521.3874","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":"EC"},"authentication":{"entityId":"8a82941865d7e66c0165e76a6d861c1e"},"redirect":{"url":"https://pre1a.payment.pagoefectivo.pe/3EA6FED6-0A17-463C-BE9D-763007D0E7AB.html","method":"GET","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} | COL |
paymentBrand | The brand specifies the method for the request | AN32 [a-zA-Z0- 9_] {1,32} | BALOTO |
paymentType | The payment type for the request | A2 | PA |
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 |
customParameters[CUSTOM_due_date] | optional. If not set, default is 3 days. Date and time sent is in UTC. | DDMMAAAA HHMMSS | 23032020 122343 |
customParameters[DOCTYPE] | Optional. Doc type used. Can be one of the following. DNI (Documento nacional de identidad) PAR (Partida) PAS (Pasaporte) LMI (Libreta militar) NAN (another type) | DNI (Documento nacional de identidad) PAR (Partida) PAS (Pasaporte) LMI (Libreta militar) NAN (another type) | DNI |
customParameters[DOCNUMBER] | Optional. Number of the document. | AN14 | D42342342334523 |
customer.phone | Optional, phone number with country code. If sent, will be used to send SMS reminders by PagoEfectivo. | N15 | 32523534532 |
customer.email | Optional. Customer email. | AN128 | |
customer.givenName | Optional. Customer first name. | AN | Peter |
customer.surname | Optional. Customer surename | AN | Prado |
billing.postcode | Customer postcode | AN30 | 223224 |
| URL | AN2048 | http://www.google.com |
id | Response id that is unique for each transaction | AN32 |
|
resultDetails.ConnectorTxID1 | Acquirer Reference. For PagoEfectivo this is the CIP number | AN255 | 123141 |
redirect.url | url for the payment slip | AN255 | |
redirect.method | Method you should use to redirect the shopper to the url | AN255 | GET |
redirect.parameters | parameters you should add to the URL when redirecting the shopper. may be null | AN255 | [payment=234] |
result.code | result code of the transaction. See ResultCodes | nnn.nnn.nnn | 000.000.000 |
result.description | description of the result code | AN255 | “Successfull transaction” |
resultDetails.ExtendedDescription | acquirer description of their code | AN244 | “Solicitud exitosa” |
resultDetails.AcquirerResponse | acquirer result code | AN255 | 100 |
presentationAmount | amount | N13 [0- 9]{1,10}\.[0 -9]{2} | 10.00 |
| currency | A3 [a-zA-Z]{3} | COL |
descriptor | Descriptor of the transaction | AN255 | PagoEfectivo 232.2939.29323 |
timestamp | Timestamp | YYYY-MM-DD HH:MM:SS+/-HHHH |
|
ndc | Internal id for internal uses. Can be asked in case of an error | AN255 |
|
merchantAccountId | id of your merchant account | AN32 |
|