Peru Bank Transfer
How to use BankTransfer to submit a payin in Peru.
Payment type | Cach transfer |
Market | Peru |
Customers currencies | PEN |
Processing currencies | PEN |
Settlement currencies | EUR |
Payouts | Yes |
Step 1. Make a transaction request
From your server, make a POST /payment_preauthorize request.
https://sandbox.payabl.com/pay/backoffice/payment_preauthorize
Include in the request parameters below:
The below parameters are mandatory for SPEI.
merchantid
: The merchant identification number.orderid
: The field orderid is optional and exclusively for the merchant's convenience.amount
: The amount field contains the transaction’s total amount. This is the amount that will be transmitted to the authorizing system.currency
: The currency field contains the alphanumeric currency code for the transaction, according to ISO 4217, e.g. PEN.payment_method
: The payment method id - 130 (or 126 if instructed by tech support).signature
: The signature field contains a 40-figure hexadecimal value. This signature value is a checksum designed to protect the merchant account from unauthorized access.email
: The customer's email address.custom2
: The name of payment method - banktransfer.nationalid
: Consumer’s national id, has to satisfy the following regular expression: DNI: 8 digits, RUC: 11 digits.nationaltype
: User's identification type RFC or CURP.
You can see a full list of parameters in Pre-Authorization.
Request example
/pay/backoffice/payment_preauthorize&merchantid=gateway_test&amount=12.01¤cy=PEN&orderid=Payabl-Test&
language=en&gender=&lastname=Mann&street=Office+11A,+Swepco+Court,+Griva+Digeni+80&zip=60322
&city=Frankfurt&country=DEU&customerid=&salutation=&title=&firstname=Muster&company=&birthday=&house=&
postbox=&state=&[email protected]&phone=&fax=&mobile=&customerip=&custom1=&custom2=Cash&custom3=&
url_return=http://dev-sim-ng.inatec.local/~simdad/InatecResponse/redirect_response.php&url_success=
http://dev-sim-ng.inatec.local/~simdad/InatecResponse/success.php&url_failed=http://dev-sim-ng.inatec.
local/~simdad/InatecResponse/failed.php¬ification_url=https://api.powercash.de/simulation/billing_
response.php&payment_method=130&nationaltype=RUC&nationalid=50284414727&subject=test+subject&
content=test+content&signature=32d2663f0b0d22e4721915c272a89d6ae87c95f6
Step 2. Handle the redirect
To complete the payment, you need to redirect the customer to the correct URL in the response.
Response
transactionid=105352879&transid=105352879&status=2000&errormessage=pending&errmsg=pending&amount=1.23&
price=1.23¤cy=PEN&orderid=Payabl-Test&redirect_url=https://cert-gateway.kashio.net/e/index.html?
token=59hfczaetyPHUh8XCmUYdx&user_id=787437
Step 3. Transaction states
If the customer successfully completed the transaction, you will receive a notification with confirmation.
Notification example (successful transaction):
timestamp=1693233005&errorcode=0&errormessage=&transactionid=105352879&type=capture&payment_method=130&
payment_state=credited&orderid=Payabl-Test&security=8676790a274530ae67ccab8a251301718199eaf85c37f642ed12cf037a5c39a0
If the customer initiated the transaction but didn't finalize it, you will receive a failed notification.
Notification example with error:
type=order&transactionid=105352913&orderid=Payabl-Test×tamp=1693233348&errormessage=Wrong+national+ID
&security=0fdfd0991c1bcd7c14a09af0b46ae7aee1c4c31be68b4a0265f422976353d380&errorcode=-66182
Payouts
The method allows merchants to send funds to a bank account via wire transfer. In order for this to be done, the merchant needs to submit the bank details of the customer.
Include in a request:
currency
: "PEN"account
: Customer's bank accountdocument_id
: Customer's iddocument_type
: Customer's identification type, should be one of DNI, RUC, PAS, CE.bankcountry
:(PER)bank_code
: bank code, see belowmethod
: banktransferaccount_type
: Should be one of CHECKING, SAVINGSregion
: see regions below
Field | Value Format | Accepted Values |
---|---|---|
merchantid | String | [A-Z][0-9] |
amount | Float | 0.00 |
currency | String | PEN |
orderid | String | [0-9] |
language | String | en |
lastname | String | [A-Z] |
street | String | * |
zip | String | [A-Z][0-9] |
city | String | [A-Z] |
country | String | Country Code |
firstname | String | [A-Z] |
state | String | [A-Z] |
String | [A-Z][0-9][-&_]@[A-Z][0-9].[A-Z] | |
custom1 ### optional ### | String | * |
custom2 ### optional ### | String | * |
custom3 ### mandatory payment reason ### | String | * |
payment_method | String | 130 (or 126 if instructed by tech support) Payment Method Id |
phone | String | [0-9] |
bankname | String | Bank Name |
accountnumber | String | [A-Z][0-9] |
testmode ### only for testing ### | String | true |
testmodecallbackstatus ### only for testing ### | String | [PENDING-PROCESSED-ACCEPTED-FINISHED-ERROR] |
signature | String | * |
Request string:
POST https://sandbox.payabl.com/pay/backoffice/payment_cft
merchantid=test_merchant&amount=1.23¤cy=MXN&orderid=Inatec-Test&language=en&lastname=Mann&
street=An+der+Welle+4&zip=60322&city=Frankfurt&country=DEU&firstname=Muster&state=HE&email=test%
40inatec.com&custom1=&custom2=&custom3=&payment_method=130&document_id=50284414727&document_type=CC&
method=TRANSFIYA&bankcountry=COL&additional_remark=transfer+money&account_type=PHONE&account=5701234
5678910&signature=ff09cfa3b2e01e746ddbf19fbab08b30e31ab313
- Response:
transactionid=215456949&transid=215456949&status=2000&errormessage=pending&errmsg=pending&amount=100&
price=100¤cy=MXN&orderid=Payabl-Test&payment_method=130
1.1 Error
transactionid=215457170&transid=215457170&status=4001103&errormessage=method%20or%20channel%20is%20
inactive&errmsg=method%20or%20channel%20is%20inactive&amount=2&price=2¤cy=MXN&orderid=Payabl-Test&
payment_method=130
1.2 Pending
"transactionid=215437556&transid=215437556&status=2000&errormessage=pending&errmsg=pending&amount=1230&price=1230¤cy=MXN&orderid=Inatec-Test&payment_method=126""
- Notification:
2.1 Notification example with Error:
errormessage=&bank_code=001&method=BANKTRANSFER&account_holder=Muster+Mann&orderid=Payabl-Test&
errorcode=0&transactionid=215456949×tamp=1689150492&bank_country=BRA&security=b67f198da9d3
10b956405ff879d098a2e0f8a1728a5ddad6b0e9c4ce3edc9dae&payment_method=130&type=cft
2.2Notification example with Success
errorcode=-5002&method=BANKTRANSFER&account_holder=Muster+Mann&security=389ff24d11207156c43bfc7e9ebc89
3e12726dda4f5a0aaa27544a8c4c986e7c&payment_method=130&bank_country=BRA&errormessage=rejected+by+bank&
orderid=Payabl-Test&type=cft×tamp=1689154433&bank_code=001&transactionid=215456961
Banks in Peru
Bank Name | Bank Code |
---|---|
Banco Continental | 0001 |
Banco de Credito | 0002 |
Interbank | 0003 |
Scotiabank | 0004 |
Banco de Comercio | 0005 |
Banco Interamericano de Finanzas (BanBif) | 0006 |
Banco Pichincha | 0007 |
Citibank | 0008 |
MiBanco | 0009 |
Banco GNB | 0011 |
Banco Falabella | 0012 |
Banco Ripley | 0013 |
Banco Santander | 0014 |
Banco Azteca | 0015 |
Banco Cencosud | 0016 |
ICBC PERU BANK | 0017 |
Banco de la Nación | 0018 |
Caja Arequipa | 0019 |
Caja Cusco | 0020 |
Caja Huancayo | 0021 |
Caja Maynas | 0022 |
Caja Metropolitana | 0023 |
Caja Municipal Ica | 0024 |
Caja Piura | 0025 |
Caja Sullana | 0026 |
Caja Tacna | 0027 |
Caja Trujillo | 0028 |
Account number
Bank | Description |
---|---|
Banco Continental | The “No. account” must contain 18-20 digits EX: 001106660100012345 (18 digits). |
Banco de Credito | The “No. account” must contain: 13-14 digits for Current Account or Master Account and 14 digits for Savings Account. |
Interbank | The “No. account” must contain 13 digits. |
Scotiabank | The “No. account ”must contain 10 digits EX: 0037651234 (10 digits: 3 agency + 7 account). |
For any other bank or financial institution | A 20-digit CCI interbank account code must be entered. Example: 00219400254640654321 (20 digits) |
Regions
- Amazonas
- Ancash
- Apurímac
- Arequipa
- Ayacucho
- Cajamarca
- Callao
- Cusco
- Huancavelica
- Huánuco
- Ica
- Junín
- La Libertad
- Lambayeque
- Lima
- Loreto
- Madre de Dios
- Moquegua
- Pasco
- Piura
- Puno
- San Martín
- Tacna
- Tumbes
- Ucayali
Updated 10 months ago