Deposit

# 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": "SE",
  "site_display_name": "Best Website.com",
  "ref": "merchant-transaction-ref",
  "amount": "100.00",
  "currency": "SEK",
  "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",
// optional
  "notification_url": "https://example.com/return_path/transaction_identifier",
  "account_ref": "PlayerRef1234",
  "email": "bobben@example.com",
  "locale": "sv",
  "mobile_phone": "+46700000000",
  "user_id": "f65191e4-3064-cc45-df68-8130e4a11197",
  "national_identification_number": "19810101-0000",
  "kyc_callback_url": "https://www.example.com/kyc_callback_url",
  "payment_methods": ["card", "bank", "bill"],
  "bank_account": {
    "type": "bic",
    "bic": "SWEDSESS"
  }
}

# RESPONSES

{
  ...
  "id": "6a734480-a051-4a05-8405-ac2d8f49102f",
  "state": "pending",
  "user_form_url": "https://account-sandbox.zimpler.com?code=6a734480-a051-4a05-8405-ac2d8f49102f",
  "user_id": null,
  "kyc_info": null,
}
{
  ...
  "id": "6a734480-a051-4a05-8405-ac2d8f49102f",
  "state": "authorized",
  "user_id": "9b9047da-175f-d29a-dae8-85b428488c2e",
  "kyc_info": {
    "country_code": "SE",
    "user_id": "9b9047da-175f-d29a-dae8-85b428488c2e",
    "national_identification_number": "19810101-0000",
    "first_name": "Henrik Testperson",
    "last_name": "Testson",
    "date_of_birth": "1981-01-01",
    "pep": false,
    "address": {
      "line_1": "Box 1529 / Prod Utv",
      "line_2": null,
      "postcode": "17229",
      "city": "Sundbyberg",
      "country": "Sweden"
    }
  },
}

Note: After we have KYC:ed the customer, we will call the kyc_callback_url if provided.

The payload sent to the kyc_callback_url is the full deposit object including kyc_info.

When called, the callback should return the updated amount given the KYC information you’ve received (can be unchanged, lowered or 0.00 if you want to cancel the deposit).

# POST /v4/deposits/:id/approve

Note: amount has to be the same as either provided in the POST /v4/deposits or returned by your handler for the kyc_callback_url.

# REQUEST

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

# RESPONSE

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

# POST /v4/deposits/:id/reject

# RESPONSE

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

# GET /v4/deposits/:id

Will return the current state of the deposit.