Deposit for Peru
This part of the documentation describes the deposit flow for Peru. We currently do not support KYC for the German market.
# Flow
Note: Make sure to load the user_form_url
in a redirect or popup on
mobile, loading user_form_url
in an iframe on mobile will cause
issues.
# POST /v4/deposits
# REQUEST
{
// required
"country_code": "PE",
"site_display_name": "Best Website.pe",
"ref": "merchant-transaction-ref",
"amount": "100.00",
"currency": "PEN",
"site": "example.pe",
"success_url": "https://example.pe/return_path/transaction_identifier",
"failure_url": "https://example.pe/return_path/transaction_identifier",
"close_url": "https://example.pe/return_path/transaction_identifier",
// optional
"notification_url": "https://example.pe/return_path/transaction_identifier",
"account_ref": "CustomerRefOnMerchantSide",
"email": "bobben@example.pe",
"locale": "es",
"mobile_phone": "+5110000000",
"user_id": "f65191e4-3064-cc45-df68-8130e4a11197",
"payment_methods": ["bank"],
"payment_prefix": "A1B2C3"
}
# RESPONSES
All responses will include the full deposit object sent within your request. This is pointed out with the […] in below documentation.
# Pending deposit
The user should be redirected to the user_form_url
so they can start the deposit.
{
...
"id": "6a734480-a051-4a05-8405-ac2d8f49102f",
"state": "pending",
"user_form_url": "https://account.zimpler.com?code=6a734480-a051-4a05-8405-ac2d8f49102f",
"user_id": null,
"kyc_info": null,
"account_information": [],
}
# Authorized deposit
The deposit is complete and can now be approved.
{
...
"id": "6a734480-a051-4a05-8405-ac2d8f49102f",
"state": "authorized",
"user_id": null,
"kyc_info": null,
//will be provided or partial provided depending on the information we receive.
"account_information": [
{
"type": "national-PE",
"bic": "BCPLPE",
"account_number": "19103922592012"
},
{
"type": "bic",
"bic": "BCPLPE"
}
]
}
# Failed deposit
When relevant failed deposits contain an extra events
field containing extra
information about the customer journey and potential causes for the failure. The
events structure is described in in the API index
{
...
"id": "6a734480-a051-4a05-8405-ac2d8f49102f",
"state": "failed",
"events": [
{
"extended_bank_id_needed": true
}
]
}
# POST /v4/deposits/:id/approve
Note: amount has to be the same as provided in the POST /v4/deposits
.
# REQUEST
{
// required
"amount": "100.00"
}
# RESPONSE
{
...
"state": "approved"
}
# POST /v4/deposits/:id/reject
# RESPONSE
{
...
"state": "rejected"
}
# GET /v4/deposits/:id
Will return the full transaction object with the current state.