Deposit for Germany
This part of the documentation describes the deposit flow for Germany. 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": "DE",
"site_display_name": "Best Website.com",
"ref": "merchant-transaction-ref",
"amount": "10.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",
// optional
"notification_url": "https://example.com/return_path/transaction_identifier",
"account_ref": "CustomerRefOnMerchantSide",
"email": "bobben@example.com",
"locale": "de",
"mobile_phone": "+49700000000",
"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-sandbox.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": "iban",
"account_number": "XXX",
},
{
"type": "bic",
"bic": "DEUTDE"
},
{
"type": "holder_name",
"first_name": "John",
"last_name": "Doe"
}
]
}
# 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.