zimpler-developers

Withdrawal for other countries

This part of the documentation describes the withdrawal flow for several ‘other’ countries. You can see which ones are available below along with their Alpha-2 codes.

We currently do not support KYC for these markets. Therefore there are some mandatory bank account details to be included within the withdrawal request. It is of high importance that you verify the IBAN account number before adding it into your request.

When populating the country_code parameter for your requests, kindly use the Alpha-2 codes listed below.

Flow

For other countries a bank_account of type iban (with fields account_number, first_name and last_name) is required.

{
// required
  "country_code": "LV",
  "site_display_name": "Best Website.com",
  "ref": "merchant-transaction-ref",
  "amount": "100.00",
  "currency": "EUR",
  "site": "example.com",
  "success_url": "https://example.com/return_path/transaction_identifier",
  "failure_url": "https://example.com/return_path/transaction_identifier",
  "close_url": "https://example.com/return_path/transaction_identifier",
  "bank_account": {
    "type": "iban",
    "account_number": "EE382200221020145685",
    "first_name": "John",
    "last_name": "Smith"
  },
  "user_ip":"123.456.78.90"
  // optional
  "notification_url": "https://example.com/return_path/transaction_identifier",
  "account_ref": "CustomerRefOnMerchantSide",
  "email": "bobben@example.com",
  "locale": "xx",
  "mobile_phone": "+372700000000",
}

# RESPONSES

All responses will include the full withdrawal object sent within your request. This is pointed out with the […] in below documentation.

{
  ...
  "id": "6a734480-a051-4a05-8405-ac2d8f49102f",
  "state": "authorized",
  "user_form_url": "https://toh.zimpler.net/v4/callbacks/5c2ce36d-cf4b-4b8b-9930/success",
  "user_id": null,
  "kyc_info": null,
  "user_ip":"123.456.78.90"
}

# POST /v4/withdrawals/:id/approve

Note: Amount has to be the same as provided in the POST /v4/withdrawals.

# REQUEST

{
  // required
  "amount": "100.00"
}

# RESPONSE

{
    ...
    "state": "approved"
}

# POST /v4/withdrawals/:id/reject

# RESPONSE

{
    ...
    "state": "rejected"
}

# GET /v4/withdrawals/:id

Will return the full transaction object with the current state.