zimpler-developers

Deposit for Peru

This part of the documentation describes the deposit flow for Peru. We currently do not support KYC for the Peruvian market.

# Flow

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"
      }
  ]
}

# 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.