Alternative Payment Methods
Info
- The purchase status for PagoEfectivo and Cash collection networks will remain Pending until the customer completes the payment.
- The purchase status for Yape will be approved or rejected as soon as you send the transaction.
PagoEfectivo Perú
PagoEfectivo provides a network of physical payment centers where your customers can pay their purchases in cash or using their bank app. Your customer can pay giving the debt identifier (CIP) in a physical payment office or using their bank app.
Request parameters
You need to include specific fields for this payment method to work correctly. Check the Purchase operation article for details on authentication, languages of the response, and basic purchase parameters such as amount and currency.
Property | Type | Mandatory? | Description |
---|---|---|---|
PaymentMediaId | numeric | Yes | The PaymentMediaId for this payment method is 26. |
TargetCountryISO | string | Yes | Indicate the destination country. |
Customer → Email | string | Yes | Customer’s email. |
Customer → FirstName | string | Yes | Customer’s first name. |
Customer → LastName | string | Yes | Customer’s last name. |
Customer → DocumentTypeId | numeric | Yes | Customer’s document type. Refer to the Document types table to see the possible values. |
Customer → DocNumber | string | Yes | Customer’s Document Number. |
Customer → PhoneNumber | string | Yes | Customer’s phone number. The phone number format must be <characteristic>|<number> . Example: +51|971516229 . |
Customer → BillingAddress → Country | string | No | Customer’s Country. |
Customer → BillingAddress → State | string | No | Customer’s State. |
Customer → BillingAddress → City | string | No | Customer’s City. |
Customer → BillingAddress → AddressDetail | string | No | Customer’s Address Detail. |
Customer → BillingAddress → PostalCode | string | No | Customer’s Postal Code. |
MetaDataIn → PaymentExpirationInMinutes | numeric | No | Configure the expiration time for the payment using this field, specifying the duration in minutes. The API applies a default value if you don’t provide this information. The expiration date must be at least 10 minutes and less than six months from the current date (in UTC GMT -5). |
Request example
{
"PaymentMediaId": "26",
"Amount": 1000,
"MetadataIn": {
"PaymentExpirationInMinutes": "1440"
},
"Currency": "PEN",
"TargetCountryISO": "PE",
"Capture": true,
"Customer": {
"Email": "rguerrero@mail.com",
"FirstName": "Rodrigo",
"LastName": "Guerrero",
"PhoneNumber": "+51|971516229",
"DocNumber": "46701208",
"DocumentTypeId": 6
},
"Description": "Prueba Peru efectivo"
}
Response parameters
In the response, you will find the following parameters:
Property | Type | Description |
---|---|---|
Response → MetadataOut → PaymentCode | string | Payment code generated by PagoEfectivo. |
Response → MetadataOut → PaymentExpirationDate | date | Date when the CIP will expire. Format ISO 8601. |
Response → MetadataOut → PaymentUrl | string | URL of the HTML document of the CIP. |
Response example
{
"Response": {
"PurchaseId": 1134346,
"Created": "2023-09-01T20:08:12.328",
"TrxToken": null,
"Order": null,
"Transaction": {
"TransactionID": 1153224,
"Created": "2023-09-01T20:08:12.327",
"AuthorizationDate": "",
"TransactionStatusId": 2,
"Status": "Pending",
"ErrorCode": null,
"Description": "100 Solicitud exitosa.",
"ApprovalCode": null,
"Steps": [
{
"Step": "Pago Efectivo Get Token",
"Created": "2023-09-01T20:08:13.940",
"Status": "Get Token OK",
"ResponseCode": "100",
"ResponseMessage": "Solicitud exitosa.",
"Error": "",
"AuthorizationCode": null,
"UniqueID": null,
"AcquirerResponseDetail": null
},
{
"Step": "Pago Efectivo Generate CIP",
"Created": "2023-09-01T20:08:14.267",
"Status": "PhysicalNetwork Pending",
"ResponseCode": "100",
"ResponseMessage": "Solicitud exitosa.",
"Error": "",
"AuthorizationCode": null,
"UniqueID": null,
"AcquirerResponseDetail": "{'code':'100','message':'Solicitud exitosa.','cip':'1344682','operationNumber':null}"
}
]
},
"Capture": true,
"Amount": 1000,
"OriginalAmount": 1000,
"TaxableAmount": 0,
"Tip": 0,
"Installments": 1,
"Currency": "PEN",
"Description": "Prueba Peru efectivo",
"Customer": {
"CustomerId": 251048,
"Created": "2023-09-01T20:08:11.420",
"CommerceCustomerId": null,
"Owner": "Anonymous",
"Email": "rguerrero@mail.com",
"Enabled": true,
"ShippingAddress": null,
"BillingAddress": null,
"Plans": null,
"AdditionalData": null,
"PaymentProfiles": [
{
"PaymentProfileId": 255802,
"PaymentMediaId": 26,
"Created": "2023-09-01T20:08:11.527",
"LastUpdate": "2023-09-01T20:08:11.910",
"Brand": "PagoEfectivoPeru",
"CardOwner": null,
"Bin": null,
"IssuerBank": null,
"Installments": null,
"Type": "PhysicalNetwork",
"IdCommerceToken": 0,
"Token": null,
"Expiration": null,
"Last4": "",
"Enabled": null,
"DocumentNumber": "46701208",
"DocumentTypeId": 6,
"ExternalValue": null,
"AffinityGroup": null
}
],
"CaptureURL": null,
"UniqueID": null,
"URL": "https://api.stage.bamboopayment.com/Customer/251048",
"FirstName": "Rodrigo",
"LastName": "Guerrero",
"DocNumber": "46701208",
"DocumentTypeId": 6,
"PhoneNumber": "+51|971516229",
"ExternalValue": null
},
"RefundList": null,
"PlanID": null,
"UniqueID": null,
"AdditionalData": null,
"CustomerUserAgent": null,
"CustomerIP": null,
"URL": "https://api.stage.bamboopayment.com/Purchase/1134346",
"DataUY": {
"IsFinalConsumer": false,
"Invoice": null,
"TaxableAmount": 0
},
"DataDO": {
"Invoice": null,
"Tax": 0
},
"Acquirer": {
"AcquirerID": 35,
"Name": "PagoEfectivo Perú",
"CommerceNumber": null
},
"CommerceAction": null,
"PurchasePaymentProfileId": 255802,
"LoyaltyPlan": null,
"DeviceFingerprintId": null,
"MetadataIn": {
"PaymentExpirationInMinutes": "1440"
},
"MetadataOut": {
"PaymentCode": "1344682",
"PaymentExpirationDate": "2023-09-02T15:08:13-05:00",
"PaymentUrl": "https://pre1a.payment.pagoefectivo.pe/9814A6D7-2EE8-47BC-84B9-505DE4E7492E.html"
},
"CrossBorderData": null,
"CrossBorderDataResponse": {
"TargetCountryISO": "PE",
"TargetCurrencyISO": "PEN",
"TargetAmount": 10
},
"Redirection": null,
"IsFirstRecurrentPurchase": false,
"AntifraudData": {
"AntifraudFingerprintId": null,
"AntifraudMetadataIn": null
},
"PaymentMediaId": null,
"PurchaseType": 1,
"HasCvv": null,
"TargetCountryISO": null
},
"Errors": []
}
Cash collection networks
Using this payment method, your customer can go to a Cash collection network and complete the payment using the generated reference number.
Networks
You can offer your customer the possibility to pay using cash in the following networks:
Payment MediaId | Description | |
---|---|---|
46 | BCP | |
47 | Caja Arequipa | |
48 | Caja Cusco | |
49 | Caja Huancayo | |
50 | Caja Ica | |
51 | Caja Piura | |
52 | Caja Tacna | |
53 | Caja Trujillo | |
54 | Interbank | |
55 | Western Union | |
103 | BBVA |
Request parameters
You need to include specific fields for this payment method to work correctly. Check the Purchase operation article for details on authentication, languages of the response, and basic purchase parameters such as amount and currency.
Property | Type | Mandatory? | Description |
---|---|---|---|
PaymentMediaId | numeric | Yes | Send the PaymentMediaId according to the selected network in this table. |
TargetCountryISO | string | Yes | Indicate the destination country. |
Customer → Email | string | Yes | Customer’s email. |
Customer → FirstName | string | No | Customer’s first name. |
Customer → LastName | string | No | Customer’s last name. |
Customer → DocumentTypeId | numeric | No | Customer’s document type. Refer to the Document types table to see the possible values. |
Customer → DocNumber | string | Yes | Customer’s Document Number. |
Customer → PhoneNumber | string | No | Customer’s phone number. |
Customer → BillingAddress → Country | string | No | Customer’s Country. |
Customer → BillingAddress → State | string | No | Customer’s State. |
Customer → BillingAddress → City | string | No | Customer’s City. |
Customer → BillingAddress → AddressDetail | string | No | Customer’s Address Detail. |
Customer → BillingAddress → PostalCode | string | No | Customer’s Postal Code. |
MetaDataIn → PaymentExpirationInMinutes | numeric | No | Configure the expiration time for the payment using this field, specifying the duration in minutes. The API applies a default value if you don’t provide this information. |
Request example
{
"PaymentMediaId": 55,
"Currency": "USD",
"TargetCountryISO": "PE",
"MetadataIn": {
"PaymentExpirationInMinutes": "15"
},
"Customer": {
"Email": "rguerrero@mail.com",
"FirstName": "Rodrigo",
"LastName": "Guerrero",
"PhoneNumber": "+51|971516229",
"DocNumber": "46701208",
"DocumentTypeId": 6
},
"Amount": 100,
"Installments": 1,
"Capture": true,
"Description": "Cash test"
}
Response parameters
In the response, you will find the following parameters:
Property | Type | Description |
---|---|---|
Response → MetadataOut → PaymentUrl | string | URL of the payment information. |
Response → MetadataOut → PaymentCode | string | Payment reference returned by the acquirer to identify the order generated. |
Response → MetadataOut → PaymentExpirationDate | date | Date when the payment will expire. Format DD/MM/YYYY. |
Response → MetadataOut → AgreementCode | string | Agreement number between the acquirer and the physical network. |
For more information on the response parameters, please refer to the Response parameters section of the Purchase creation.
Response example
{
"Response": {
"PurchaseId": 148346,
"Created": "2023-10-11T18:20:14.465",
"TrxToken": null,
"Order": null,
"Transaction": {
"TransactionID": 159251,
"Created": "2023-10-11T18:20:14.465",
"AuthorizationDate": "",
"TransactionStatusId": 2,
"Status": "Pending",
"ErrorCode": null,
"Description": " ",
"ApprovalCode": null,
"Steps": [
{
"Step": "Generic External",
"Created": "2023-10-11T18:20:15.227",
"Status": null,
"ResponseCode": "0000",
"ResponseMessage": "OK",
"Error": null,
"AuthorizationCode": "7851376",
"UniqueID": null,
"AcquirerResponseDetail": "{\"Operacion\":\"CREADA\",\"OrdenID\":\"148346\",\"PVOrdenID\":\"3468502\",\"Referencia\":\"7851376\"}"
}
]
},
"Capture": true,
"Amount": 306,
"OriginalAmount": 306,
"TaxableAmount": 0,
"Tip": 0,
"Installments": 1,
"Currency": "PEN",
"Description": "Cash test",
"Customer": {
"CustomerId": 70118,
"Created": "2023-10-11T18:20:14.070",
"CommerceCustomerId": null,
"Owner": "Anonymous",
"Email": "rguerrero@mail.com",
"Enabled": true,
"ShippingAddress": null,
"BillingAddress": null,
"Plans": null,
"AdditionalData": null,
"PaymentProfiles": [
{
"PaymentProfileId": 71937,
"PaymentMediaId": 55,
"Created": "2023-10-11T18:20:14.117",
"LastUpdate": "2023-10-11T18:20:14.203",
"Brand": "WesternUnion",
"CardOwner": null,
"Bin": null,
"IssuerBank": null,
"Installments": null,
"Type": "PhysicalNetwork",
"IdCommerceToken": 0,
"Token": null,
"Expiration": null,
"Last4": "",
"Enabled": null,
"DocumentNumber": "46701208",
"DocumentTypeId": 2,
"ExternalValue": null,
"AffinityGroup": null
}
],
"CaptureURL": null,
"UniqueID": null,
"URL": "https://api.dev.bamboopayment.com/Customer/70118",
"FirstName": "Rodrigo",
"LastName": "Guerrero",
"DocNumber": "46701208",
"DocumentTypeId": 6,
"PhoneNumber": "+51|971516229",
"ExternalValue": null
},
"RefundList": null,
"PlanID": null,
"UniqueID": null,
"AdditionalData": null,
"CustomerUserAgent": null,
"CustomerIP": null,
"URL": "https://api.dev.bamboopayment.com/Purchase/148346",
"DataUY": {
"IsFinalConsumer": false,
"Invoice": null,
"TaxableAmount": 0
},
"DataDO": {
"Invoice": null,
"Tax": 0
},
"Acquirer": {
"AcquirerID": 101,
"Name": "PayvalidaCashPFPE",
"CommerceNumber": null
},
"CommerceAction": null,
"PurchasePaymentProfileId": 71937,
"LoyaltyPlan": null,
"DeviceFingerprintId": null,
"MetadataIn": {
"PaymentExpirationInMinutes": "15"
},
"MetadataOut": {
"PaymentUrl": "https://s3.amazonaws.com/gateway.dev.bamboopayment.com/purchase-coupons/148346_ab14bee9-1870-4711-a656-9e308d37126a_20240111.html",
"PaymentCode": "7851376",
"PaymentExpirationDate": "11/10/2023",
"AgreementCode": "PAYVALIDA"
},
"CrossBorderData": null,
"CrossBorderDataResponse": {
"TargetCountryISO": "PE",
"TargetCurrencyISO": "USD",
"TargetAmount": 1
},
"Redirection": null,
"IsFirstRecurrentPurchase": false,
"AntifraudData": {
"AntifraudFingerprintId": null,
"AntifraudMetadataIn": null
},
"PaymentMediaId": null,
"PurchaseType": 1,
"HasCvv": null,
"TargetCountryISO": null
},
"Errors": []
}
Yape
Yape, a widely embraced mobile payment system in Peru, offers a convenient way for individuals to conduct smartphone transactions. By seamlessly linking their bank accounts to the Yape app, customers can pay for products and services effortlessly.
Unlike other APMs in Peru, the Yape flow operates similarly to card transactions. However, instead of sharing card information, you need only provide the phone number and the authorization code generated by the customer in the Yape app.
Payment flow
The following diagram presents the payment flow used to pay with Yape.
- The customer selects Yape as payment method.
- You must show the form to capture the mobile phone number and the authorization code.
- The customer opens Yape app and generates a new authorization code.
- The customer enters their mobile phone number and the authorization code previously generated.
- Bamboo process the transaction and returns a approved or rejected status.
Request parameters
You need to include specific fields for this payment method to work correctly. Check the Purchase operation article for details on authentication, languages of the response, and basic purchase parameters such as amount and currency.
Property | Type | Mandatory? | Description |
---|---|---|---|
PaymentMediaId | numeric | Yes | The PaymentMediaId for this payment method is 540. |
TargetCountryISO | string | Yes | Indicate the destination country. |
Customer → Email | string | Yes | Customer’s email. |
Customer → FirstName | string | No | Customer’s first name. |
Customer → LastName | string | No | Customer’s last name. |
Customer → DocumentTypeId | numeric | No | Customer’s document type. Refer to the Document types table to see the possible values. |
Customer → DocNumber | string | No | Customer’s Document Number. |
Customer → PhoneNumber | string | No | Customer’s phone number. Max 9 characters. |
Customer → BillingAddress → Country | string | No | Customer’s Country. |
Customer → BillingAddress → State | string | No | Customer’s State. |
Customer → BillingAddress → City | string | No | Customer’s City. |
Customer → BillingAddress → AddressDetail | string | No | Customer’s Address Detail. |
Customer → BillingAddress → PostalCode | string | No | Customer’s Postal Code. |
MetaDataIn → PaymentExpirationInMinutes | numeric | No | Configure the expiration time for the payment using this field, specifying the duration in minutes. The API applies a default value if you don’t provide this information. |
MetaDataIn → phoneNumber | numeric | Yes | Mobile phone number of the Yape user. |
MetaDataIn → otp | numeric | Yes | Authorization code generated by the Yape user. |
Request example
{
"PaymentMediaId": 540,
"Order": "QA994",
"Capture": "true",
"Amount": 3000,
"Installments": 1,
"Currency": "USD",
"CrossBorderData": {
"TargetCountryISO": "PE"
},
"Description": "Compra de prueba",
"Customer": {
"Email": "rguerrero@mail.com",
"BillingAddress": {
"AddressType": 1,
"Country": "Peru",
"State": "Lima y Callao",
"City": "Lima",
"AddressDetail": "Avenida Jaime Bauzate Y Meza, 593"
},
"FirstName": "Rodrigo",
"LastName": "Guerrero",
"DocNumber": "46701208",
"DocumentTypeId": 6,
"PhoneNumber": "969929157"
},
"MetadataIn": {
"PaymentExpirationInMinutes": "1440",
"phoneNumber": "969929157",
"otp": "557454"
}
}
Response parameters
For more information on the response parameters, please refer to the Response parameters section of the Purchase creation.
Response example
{
"Response": {
"PurchaseId": 1276919,
"Created": "2024-03-11T13:48:24.296",
"TrxToken": null,
"Order": "QA994",
"Transaction": {
"TransactionID": 1297685,
"Created": "2024-03-11T13:48:24.296",
"AuthorizationDate": "2024-03-11T13:48:24.896",
"TransactionStatusId": 1,
"Status": "Approved",
"ErrorCode": null,
"Description": " ",
"ApprovalCode": "160105",
"Steps": [
{
"Step": "Generic External",
"Created": "2024-03-11T13:48:24.904",
"Status": null,
"ResponseCode": "000",
"ResponseMessage": "Authorization Aprobado y completado con exito.",
"Error": null,
"AuthorizationCode": "160105",
"UniqueID": null,
"AcquirerResponseDetail": "Authorization Aprobado y completado con exito."
}
]
},
"Capture": true,
"Amount": 13280,
"OriginalAmount": 13280,
"TaxableAmount": null,
"Tip": 0,
"Installments": 1,
"Currency": "PEN",
"Description": "Compra de prueba",
"Customer": {
"CustomerId": 277774,
"Created": "2024-03-11T13:48:23.983",
"CommerceCustomerId": null,
"Owner": "Anonymous",
"Email": "rguerrero@mail.com",
"Enabled": true,
"ShippingAddress": null,
"BillingAddress": {
"AddressId": 396672,
"AddressType": 2,
"Country": "Peru",
"State": "Lima y Callao",
"AddressDetail": "Avenida Jaime Bauzate Y Meza, 593",
"PostalCode": null,
"City": "Lima"
},
"Plans": null,
"AdditionalData": null,
"PaymentProfiles": [
{
"PaymentProfileId": 283184,
"PaymentMediaId": 540,
"Created": "2024-03-11T13:48:24.113",
"LastUpdate": "2024-03-11T13:48:24.147",
"Brand": "Yape",
"CardOwner": null,
"Bin": null,
"IssuerBank": null,
"Installments": null,
"Type": "BankTransfer",
"IdCommerceToken": 0,
"Token": null,
"Expiration": null,
"Last4": "",
"Enabled": null,
"DocumentNumber": null,
"DocumentTypeId": null,
"ExternalValue": null,
"AffinityGroup": null
}
],
"CaptureURL": null,
"UniqueID": null,
"URL": "https://api.stage.bamboopayment.com/Customer/277774",
"FirstName": "Rodrigo",
"LastName": "Guerrero",
"DocNumber": "46701208",
"DocumentTypeId": 6,
"PhoneNumber": "969929157",
"ExternalValue": null
},
"RefundList": null,
"PlanID": null,
"UniqueID": null,
"AdditionalData": null,
"CustomerUserAgent": null,
"CustomerIP": null,
"URL": "https://api.stage.bamboopayment.com/Purchase/1276919",
"DataUY": {
"IsFinalConsumer": false,
"Invoice": null,
"TaxableAmount": null
},
"DataDO": {
"Invoice": null,
"Tax": null
},
"Acquirer": {
"AcquirerID": 153,
"Name": "Yape",
"CommerceNumber": null
},
"CommerceAction": null,
"PurchasePaymentProfileId": 283184,
"LoyaltyPlan": null,
"DeviceFingerprintId": null,
"MetadataIn": {
"PaymentExpirationInMinutes": "1440",
"phoneNumber": "969929157",
"otp": "557454"
},
"MetadataOut": null,
"CrossBorderData": null,
"CrossBorderDataResponse": {
"TargetCountryISO": "PE",
"TargetCurrencyISO": "USD",
"TargetAmount": 30
},
"Redirection": null,
"IsFirstRecurrentPurchase": false,
"AntifraudData": {
"AntifraudFingerprintId": null,
"AntifraudMetadataIn": null
},
"PaymentMediaId": null,
"PurchaseType": 1,
"HasCvv": null,
"TargetCountryISO": null
},
"Errors": []
}