Peru Bank Transfer

How to use BankTransfer to submit a payin in Peru.

Payment typeCach transfer
MarketPeru
Customers currenciesPEN
Processing currenciesPEN
Settlement currenciesEUR
PayoutsYes

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&currency=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&notification_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&currency=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&timestamp=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 account
  • document_id: Customer's id
  • document_type: Customer's identification type, should be one of DNI, RUC, PAS, CE.
  • bankcountry:(PER)
  • bank_code: bank code, see below
  • method: banktransfer
  • account_type: Should be one of CHECKING, SAVINGS
  • region: see regions below
FieldValue FormatAccepted Values
merchantidString[A-Z][0-9]
amountFloat0.00
currencyStringPEN
orderidString[0-9]
languageStringen
lastnameString[A-Z]
streetString*
zipString[A-Z][0-9]
cityString[A-Z]
countryStringCountry Code
firstnameString[A-Z]
stateString[A-Z]
emailString[A-Z][0-9][-&_]@[A-Z][0-9].[A-Z]
custom1
### optional ###
String*
custom2
### optional ###
String*
custom3
### mandatory payment reason ###
String*
payment_methodString130 (or 126 if instructed by tech support)
Payment Method Id
phoneString[0-9]
banknameStringBank Name
accountnumberString[A-Z][0-9]
testmode
### only for testing ###
Stringtrue
testmodecallbackstatus
### only for testing ###
String[PENDING-PROCESSED-ACCEPTED-FINISHED-ERROR]
signatureString*

Request string:

POST https://sandbox.payabl.com/pay/backoffice/payment_cft

merchantid=test_merchant&amount=1.23&currency=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
  1. Response:
transactionid=215456949&transid=215456949&status=2000&errormessage=pending&errmsg=pending&amount=100&
price=100&currency=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&currency=MXN&orderid=Payabl-Test&
payment_method=130

1.2 Pending

"transactionid=215437556&transid=215437556&status=2000&errormessage=pending&errmsg=pending&amount=1230&price=1230&currency=MXN&orderid=Inatec-Test&payment_method=126""
  1. Notification:

2.1 Notification example with Error:

errormessage=&bank_code=001&method=BANKTRANSFER&account_holder=Muster+Mann&orderid=Payabl-Test&
errorcode=0&transactionid=215456949&timestamp=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&timestamp=1689154433&bank_code=001&transactionid=215456961

Banks in Peru

Bank NameBank Code
Banco Continental0001
Banco de Credito0002
Interbank0003
Scotiabank0004
Banco de Comercio0005
Banco Interamericano de Finanzas (BanBif)0006
Banco Pichincha0007
Citibank0008
MiBanco0009
Banco GNB0011
Banco Falabella0012
Banco Ripley0013
Banco Santander0014
Banco Azteca0015
Banco Cencosud0016
ICBC PERU BANK0017
Banco de la Nación0018
Caja Arequipa0019
Caja Cusco0020
Caja Huancayo0021
Caja Maynas0022
Caja Metropolitana0023
Caja Municipal Ica0024
Caja Piura0025
Caja Sullana0026
Caja Tacna0027
Caja Trujillo0028

Account number

BankDescription
Banco ContinentalThe “No. account” must contain 18-20 digits EX: 001106660100012345 (18 digits).
Banco de CreditoThe “No. account” must contain: 13-14 digits for Current Account or Master Account and 14 digits for Savings Account.
InterbankThe “No. account” must contain 13 digits.
ScotiabankThe “No. account ”must contain 10 digits EX: 0037651234 (10 digits: 3 agency + 7 account).
For any other bank or financial institutionA 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