zimpler-developers

Withdrawal for Netherlands

This part of the documentation describes the withdrawal flow for Netherlands.

Withdrawals for Netherlands will be valid after the user has performed it’s first deposit. This will be the case after the first deposit.

Flow

# POST /v4/withdrawals

# REQUEST

# NL withdrawals

For NL user_id is required to initiate a withdrawal.

{
  // required
  "country_code": "NL",
  "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",
  "user_id": "f65191e4-3064-cc45-df68-8130e4a11197",
  "user_ip":"123.456.78.90"
  // optional
  "notification_url": "https://example.com/return_path/transaction_identifier",
  "account_ref": "PlayerRef1234",
  "email": "bobben@example.com",
  "locale": "nl",
  "mobile_phone": "+31700000000"
}

# RESPONSES

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

# Authorized (will be sent in the notification)

The withdrawal is complete and can now be approved.

{
  ...
  "id": "6a734480-a051-4a05-8405-ac2d8f49102f",
  "state": "authorized",
  "user_form_url": "https://toh.zimpler.net/v4/callbacks/5c2ce36d-cf4b-4b8b-9930/success",
  "user_id": "9b9047da-175f-d29a-dae8-85b428488c2e",
  "kyc_info": {
    "country_code": "NL",
    "user_id": "9b9047da-175f-d29a-dae8-85b428488c2e",
    "first_name": "Henrik Testperson",
    "last_name": "Testson",
    "date_of_birth": "1981-01-01",
    "pep": false,
    "address": {
      "line_1": "Address 1529",
      "line_2": null,
      "postcode": "17229",
      "city": "Amsterdam",
      "country": "Netherlands",
    },
    "bank_account": {
        "type": "iban",
        "account_number": "NL91xxx00"
    }
}

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