# Down Payment Link Retrieval POST /partner/v2/shops/:shop_uuid/contracts/:contract_uuid/payment_link The down payment transfer is done via a redirect to the payment system. The link to the payment system can be retrieved via POST /payment_link. The link to which the customer is to be redirected is in the response to the request, redirect_url parameter. After the transfer is done, the customer is redirected back to the URL the partner indicates in the body of the request. As the next step, the customer is to be redirected to the payment system (redirect_url from the response) to complete the down payment transfer. The return URL sent in the body of the request should end with a status variable, for example - "return_url": "https://inbank.ee/session/:uuid/downpayment?status={status}". When redirecting the customer back, the payment system will fill that variable with one of the following values: - SUCCESS - the down payment has been made and the contract will be activated. If the flow includes partner approval, the partner can now approve the contract and the contract will then be activated. - FAILED - the down payment was not successful. The page the customer is redirected to can prompt to attempt the down payment once more. Note that initiating a new payment via POST /payment_link is needed for each attempt to make a down payment. - UNKNOWN - the status of the down payment is unconfirmed at the moment. In this case the down payment can yet succeed or fail. The page the customer is redirected to can inform that the down payment is yet to be verified. In case of the UNKNOWN status, the partner system needs to check at reasonable intervals if the down payment has been confirmed. This can be done using the GET /contracts/:contract_uuid API request. The response to this API request will contain the process_status parameter: - Until the down payment is confirmed, the process_status will remain in waiting_for_downpayment. Note that if the contract remains in the process_status of waiting_for_downpayment after the redirect with status UNKNOWN for more than 24 hours, we recommend contacting either Inbank or the customer. - Once the down payment has been confirmed, the process_status will change to activated, or waiting_for_partner_confirmation if the flow includes partner approval. Endpoint: POST /partner/v2/shops/{shop_uuid}/contracts/{contract_uuid}/payment_link Security: bearerAuth ## Path parameters: - `shop_uuid` (string, required) The unique identifier of the shop. Example: "a93f1f44-d5dd-4469-bfcc-c1de9e969213" - `contract_uuid` (string, required) The unique identifier of the contract. Example: "788ec8c4-c497-470b-8505-2303f151d427" ## Request fields (application/json): - `return_url` (string, required) The URL to which the customer is to be redirected back after the down payment transfer. Example: "https://inbank.ee/session/:uuid/downpayment?status={status}" ## Response 201 fields (application/json): - `redirect_url` (string) Bank redirect url. Example: "https://igw-demo.every-pay.com/lp/zag/N2y" - `payment_methods` (array) Payment link. - `payment_methods.[0]` (object) - `payment_methods.[0].display_name` (string) Display name. Example: "Luminor Bank AS; ema" - `payment_methods.[0].redirect_url` (string) Redirect url. Example: "https://igw-demo.every-pay.com/lp/id6/wfS?method_source=luminor" - `payment_methods.[0].logo_url` (string) Logo url. Example: "https://igw-demo.every-pay.com/assets/payment_methods/luminor-028.svg" - `payment_methods.[1]` (object) - `payment_methods.[2]` (object) ## Response 401 fields (application/json): - `message` (string) Unauthorized Example: "unauthorized" ## Response 403 fields (application/json): - `message` (string) Unauthorized access Example: "User is not authorized to access this resource with an explicit deny" ## Response 404 fields (application/json): - `message` (string) Not found ## Response 422 fields (application/json): - `message` (string) Unprocessable Entity ## Response 500 fields (application/json): - `message` (string) Internal server error Example: "internal_server_error"