Documentation version 1.02, 19.07.2024
Please note, that the given document is only applicable for partners integrating in Poland.
Inbank API for Partners is designed for integrating third-party applications to Inbank's credit system. The API aims to follow RESTful best practices as closely as possible to achieve its main goal — to be flexible and applicable to multiple use cases. The current document describes the API endpoints available to partners.
If you have any questions regarding Inbank API or have trouble with your integration, just contact integration@inbank.pl and we will be happy to help.
Environment | API | Partner Portal |
---|---|---|
Test | https://demo-api.inbank.pl/partner/v2/ | https://demo-partner.inbank.pl/ |
Production | https://api.inbank.pl/partner/v2/ | https://partner.inbank.pl/ |
Inbank provides a separate environment for development and integration testing. The testing environment remains available after the integration with Inbank has been completed. The testing and production environments differ, each having individual data sets.
Demo API environment: https://demo-api.inbank.pl
For testing purposes, the system returns preconfigured decisions. Positive decisions are given for amounts 0 - 500, 15 000 - 16 000.
Note that the credit application process may include an OTP code exchange via SMS. The testing environment does not send out SMS messages, but lists them in the simulator available at: https://demo-sms.inbank.eu/. In the search field at the top of the page, you need to specify the phone number you have indicated in the credit application and click Search. The simulator will then list the messages sent to that number.
Credentials for the SMS simulator:
* Note that steps 3 and 8 are only required if the flow is using SMS signing.
** Note that steps 10, 11, and 12 are needed if at step 9 you get process_status = waiting_for_customer_digital_verification
. If at step 9 you get process_status = activated
no further steps are needed.
* Note that steps 3 and 8 are only required if the flow is using SMS signing.
** Note that steps 10, 11 are needed if at step 9 you get process_status = waiting_for_customer_digital_verification
. If at step 9 you get process_status = waiting_for_partners_confirmation
then proceed to step 13 directly.
* Note that steps 3 and 11 are only required if the flow is using SMS signing.
** Note that if the account statement was uploaded manually and the flow is to include AIS verification then if at step 12 the process_status = waiting_for_customer_digital_verification
steps 5 and 6 need to be done after step 12.
* Note that steps 3 and 11 are only required if the flow is using SMS signing.
** Note that if the account statement was uploaded manually and the flow is to include AIS verification then if at step 12 the process_status = waiting_for_customer_digital_verification
steps 5 and 6 need to be done after step 12.
Inbank will provide you with an API key, used for authentication, and a unique identifier of your shop, required for building API URLs. The API-key should remain private at all times.
To obtain access to the API endpoints, place the API key in the Authorization header of the request. The Authorization header should have the Bearer scheme and your API key, for example:
Authorization: Bearer e93174d3b9158a01c861c65fab0e7f96
The API server will then verify the API key authenticity.
In most cases, you will need to use a shop identifier (shop_uuid
) in the path of the API endpoint. Shop identifier is provided to you by Inbank together with the API key.
In case of unsuccessful authorization, the system will return the following message:
{
"error": [
"unauthorized"
]
}
HTTP header Content-Type application/json is expected in all requests, unless otherwise specified in the endpoint description. Example:
Content-Type: applications/json
When sending a credit application via Inbank Partner API the e-shop has the option to provide the callback_url - the URL to which Inbank will send server-to-server callback notifications on financing process status change events. Callback requests are lightweight triggers for initiating activities on the merchant side. They contain only minimal information.
Inbank sends callbacks about the following state transition events:
Status in callback message | Description |
---|---|
Decision related callbacks | |
POSITIVE | The credit application received a positive decision and the customer can move forward in the financing process. |
NEGATIVE | The credit application received a negative, Inbank cannot offer financing to the customer. |
FAILED | The decision process has encountered issues and the decision cannot be made. If this status persists, please contact the Inbank integration team. |
INCOME_PROOF_REQUIRED | To make a decision Inbank needs the customer to provide income proof documents. |
Contract related callbacks | |
UNSIGNED | The contact has been created and is now waiting for customer signature. |
SIGNED | The customer has signed the credit contract. |
ACTIVATED | The credit contract is now activated, the financing of the purchase has been completed. |
CANCELLED | The contract has been cancelled. |
TERMINATED | The previously activated contract has been terminated. |
ACTIVATION_REQUIRES_PARTNER_APPROVAL | The financing has been granted by Inbank. Partner's approval is now needed for contract activation. Applicable if the flow requires merchant approval of credit contracts. |
DOWN_PAYMENT_PAID_BY_CUSTOMER | The customer has successfully paid the required down payment. Applicable if the flow includes making a down payment. |
To avoid processing accidental or malicious traffic to callback endpoints, the handlers should first verify the authenticity of the request. For more details, see the Callback authenticity validation chapter.
E-shop should process the incoming messages, at a minimum, in the following way:
Callbacks are sent as http POST requests, ("Content-Type" => "application/x-www-form-urlencoded"). The POST form has the following structure:
Parameter | Example value | Description |
---|---|---|
message | %7B%22type%22%3A%22DECISION%22%2C%22status%22%3A%22POSITIVE %22%2C%22creditApplicationUuid%22%3A%2259d2194c-634f-4632-91b6-300b58e628ce%22%7D |
URL-encoded JSON structure containing information about the financing process. |
hmac | c196e985640a6291723dc2717d264f82e70126c34b107f3be5b22201cb147c9 8b9709f5184a7f2fe82684d6086eee07df8a46c28fc0edfdd14fd306579244664 |
HMAC value. For more details, see HMAC calculation logic described in the Callback authenticity chapter. |
timestamp | 1549411200 |
Current Unix timestamp at issuing server. See https://en.wikipedia.org/wiki/Unix_time for more details. |
Request header
{"Content-Type":"application/x-www-form-urlencoded"}
Request body
message=%7B%22type%22%3A%22DECISION%22%2C%22status%22%3A%22INCOME_PROOF_REQUIRED%22%2C%22creditApplicationUuid
%22%3A%22bb3853ce-2034-499e-8b08-42625fdf068b%22%7D&hmac=29087d41b6171ee7598c7789b507429a8227cdf46e68d6f14626f
62ef6d1a5894f3fbdc31c96e885e2dafde7abf24054a8c67a923c58dc86749208abb8a1f721×tamp=1722587395319
The message contains minimal information, it is meant as a trigger to obtaining more detailed information over Partner API. The message body contains:
type
- type of the Inbank entity the status of which is reflected in the callback. Possible types are CONTRACT and DECISION.creditApplicationUuid
- credit application UUID.status
- status of the financing process at the moment of message dispatch.We use message authenticity hash (HMAC) transported within the POST request form field hmac
.
To validate the message authenticity you need to calculate the verifying HMAC based on data from the request and your secret api_key
, and compare the calculated HMAC with the HMAC value passed in the request.
Verifying HMAC is calculated as SHA512 HMAC, over the timestamp
and message
from the request, concatenated with .
delimiter. Your shop API key is used as HMAC secret.
Pseudocode for example verifying HMAC calculation:
key = your_api_key;
req_timestamp = request[timestamp];
req_message = request[message];
req_data = req_timestamp+'.'+req_message;
v_hmac = hmac(“sha512”, key, req_data);
JavaScript example (Postman):
key = your_api_key;
req_timestamp = decodeURIComponent(request[timestamp]);
req_message = request[message];
req_data = req_timestamp + '.' + req_message;
v_hmac = CryptoJS.HmacSHA512(req_data, key);
PHP example:
$key = $settings->api_key;
$req_timestamp = $_POST['timestamp'];
$req_message = stripslashes($_POST['message']);
$v_hmac = hash_hmac('sha512', $req_timestamp . '.' . $req_message, $key);
POST /partner/v2/shops/:shop_uuid/calculations
The calculations endpoint retrieves a preliminary calculation based on the credit amount and period. The actual calculation will be presented to the client after there is a decision based on the credit application.
Creates a new calculation
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{- "product_code": "product_code_here",
- "amount": 2000,
- "period": 12,
- "payment_day": 5
}
{- "product_code": "product_code_here",
- "amount": 2000,
- "period": 6,
- "payment_day": 5,
- "currency": "PLN",
- "payment_amount_monthly": 348.79,
- "interest_rate_annual": 0.1,
- "credit_cost_rate_annual": 0.1608,
- "total_cost": 2092.74,
- "total_cost_of_credit": 92.74
}
Credit applications are the initial step in the Inbank financing process. Once the application is reviewed and accepted by the customer, a credit contract is created.
Credit applications are the initial step in the Inbank financing process. Once the application is reviewed and accepted by the customer, a credit contract is created.
POST /partner/v2/shops/:shop_uuid/applications
A credit application is submitted using the POST /partner/v2/:shop_uuid/applications
endpoint. The credit application contains the credit period and amount, identification data and other information regarding the customer and the purchase.
Once the e-shop receives a response to the payment session initiation request with the redirect URL and the UUID of the session, it can forward the data of the credit application to Inbank. To submit credit application data to Inbank, use the
POST /partner/v2/shops/:shop_uuid/applications
request.
Request payload consists of several sub-objects:
credit_application
: monthly income, product code and other credit related datacustomer
: customer's identity code, name and gendercustomer_contact
: customer's email and phone numbercustomer_addresses
: customer's address detailscustomer_identification
: the type of customer identification document and its numberconsents
: customer's consent for processing of their datapurchase
: details about the purchased itemspartner_urls
: URL for the callbacks about the process status updates.The table below lists all parameters from the objects within the payload. Parameters can either be required or optional, depending on the integration flow. Please, consult your Inbank contact about your specific case.
The decision_status
parameter can have the following values: positive
, negative
, manual_negative
, failed
, income_proof_required
, pending
, manual
. It can be considered that the application received a positive decision if its decision_status
is positive
. Usually, a new application has decision_status
as pending
until the decision is reached.
Important note for test environments
Document number, phone number and email of one customer cannot be used for another customer. For testing purposes it means that if you introduce a new identity code, you should also generate a new document number, phone number and email address. If you use an existing customer's identity code, you can use both existing and new values for document number, phone number and email address. Due to banking secrecy we cannot indicate the exact reason behind the application failure (e.g. customer with such an email already exists) and will return a generic error: "Error has occurred, contact customer support".
Create a new application
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{- "credit_application": {
- "product_code": "example_product",
- "amount": "2400",
- "period": "12",
- "monthly_income": "2900",
- "monthly_financial_obligations": "100"
}, - "customer": {
- "identity_code": "38808050001",
- "first_name": "John",
- "last_name": "Smith"
}, - "customer_addresses": [
- {
- "street": "NIINE",
- "country": "EE",
- "zip_code": "10414"
}
], - "customer_contact": {
- "mobile": "+37253630000",
- "email": "test@test.com"
}, - "customer_identification": {
- "document_type": "id_card",
- "document_number": "AA979080"
}, - "consents": [
- {
- "type": "EMTA_REGISTRY_QUERY",
- "value": true,
- "text": "This is EMTA consent"
}
]
}
{- "uuid": "471e6282-3384-412b-af7b-646eb8f04391",
- "number": 89002917439,
- "status": "pending",
- "product_code": "example_product",
- "amount": 1001,
- "period": 12,
- "down_payment_amount": 0,
- "payment_day": 15,
- "start_date": "2020-12-15",
- "end_date": "2021-11-15",
- "decision_status": "positive",
- "decision_messages": "Positive decision",
- "changed_conditions": false,
- "previous_uuid": null,
- "salesperson_reference": "Earl James"
}
POST /partner/v2/shops/:shop_uuid/applications/:application_uuid/signings
After the customer has reviewed the application, they can proceed to application signing which is done via the POST /partner/v2/shops/:shop_uuid/applications/:application_uuid/signings
endpoint. There are the following signing methods available:
digital
- the method is used in cases when the partner has a separate signing solution. The request with the digital signing method is used as a confirmation that signing has been successful.paper
- the method is used if you are collecting paper applications signed by the customer.sms
- with this method the signing is done using an SMS code. After you send the request, the customer will receive an SMS with the code from Inbank. After that, the code is sent over to Inbank for confirmation via the PATCH /contracts/:contract_uuid/signings
request.Created signing for application
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
Service Unavailable
{- "method": "paper"
}
{- "credit_application": {
- "uuid": "f4874353-6bb3-4dc8-a25a-3b1c000000000",
- "number": 89001300000,
- "confirmed_at": "2019-05-22T14:36:22+02:00"
}
}
PATCH /partner/v2/shops/:shop_uuid/applications/:application_uuid/signings
To confirm the signing the customer needs to enter the code they received to their mobile from Inbank. The code is sent over to Inbank for confirmation via the PATCH /partner/v2/shops/:shop_uuid/applications/:application_uuid/signings
endpoint.
Created signing for application
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{- "method": "sms",
- "confirmation_code": 123456
}
{- "signing": {
- "uuid": "f4874353-6bb3-4dc8-a25a-3b1c000000000",
- "number": 89001300000,
- "signed_at": "2019-05-22T14:36:22+02:00",
- "method": "sms"
}
}
To check whether a credit application received a decision from Inbank and display the credit offer, the partner needs to get the data of the application and credit details using the GET /partner/v2/shops/:shop_uuid/applications/:application_uuid
request.
As the decision process might take some time, the endpoint may need to be polled once a second for a maximum of 30 seconds.
The response includes the decision_status
parameter which can have one of the following values: pending
, positive
, manual_negative
, income_proof_required
, negative
, failed
. It can be considered that the application received a positive decision from Inbank if its decision_status
is positive. Once the partner receives a positive credit decision from Inbank, it can display the offer to the customer.
If the response includes the income_proof_required
decision status, the customer needs to submit their income proof documents to Inbank.
Note that there are situations when the application data may be altered by Inbank systems during processing, in that case the application is also assigned a new UUID and the returned application data contains the attribute changed_conditions
with value true
. The changed_conditions
attribute informs you if the application has undergone changes or not. If you persist Inbank application UUID in your system - you should always compare the returned UUID with the one you requested and update the UUID on your side respectively.
Return application details by shop UUID & application UUID
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "product": {
- "code": "example_product9",
- "name": "Hire-purchase",
- "subtype": "hire_purchase",
- "type": "loan"
}, - "shop": {
- "name": "Online testshop",
- "type": "online_partner",
- "uuid": "a93f1f44-d5dd-4469-bfcc-c1de9e969213"
}, - "credit_application": {
- "uuid": "471e6282-3384-412b-af7b-646eb8f04391",
- "number": "89002917222",
- "credit_application_status": "pre_request",
- "offer_valid_to": "2020-11-15",
- "created_at": "2020-11-05T13:01:42+02:00",
- "creator_name": null,
- "process_status": "offer",
- "down_payment_amount_total": "0.0",
- "salesperson_reference": "Earl James",
- "period": 12,
- "amount": "1001.0",
- "payment_day": 15,
- "max_limit": "3000.0",
- "decision_status": "positive",
- "decision_messages": [
- "Positive decision"
], - "down_payment_amount_prc": null,
- "income_source": null,
- "civil_status": null,
- "housing_status": null,
- "monthly_income": "2900.0",
- "monthly_household_costs": 0,
- "monthly_financial_obligations": 0,
- "employer_name": null,
- "employer_registry_code": null,
- "employer_phone": null,
- "employment_start_year": null,
- "employment_start_month": null,
- "employment_end_year": null,
- "employment_end_month": null,
- "dependants_count": 0,
- "dependants_over_18": null,
- "changed_conditions": false,
- "previous_uuid": null,
- "confirmed_at": "2020-11-05T13:01:42+02:00"
}, - "purchase": null,
- "contract": null,
- "payment_schedule": {
- "period": 12,
- "amount": "1001.0",
- "contract_fee_amount_total": "11.0",
- "contract_fee_prc": "0.011",
- "contract_fee_type": "is_paid_according_to_repayment_schedule",
- "credit_cost_amount_total": "157.84",
- "credit_cost_rate_annual": "0.301",
- "first_payment_amount": "96.57",
- "first_payment_date": "2020-12-15",
- "interest_rate_annual": "0.149",
- "last_payment_amount": "96.57",
- "last_payment_date": "2021-11-15",
- "net_credit_amount": "1001.0",
- "payment_amount_monthly": "96.57",
- "repayments_amount_total": "1158.84",
- "down_payment_main_part": "0.0",
- "down_payment_amount_total": "0.0",
- "admin_fee_amount_monthly": "0.0",
- "admin_fee_amount_total": "0.0",
- "insurance_fee_amount_total": "0.0",
- "residual_amount_total": "0.0",
- "residual_amount_prc": "0.0",
- "interest_bearing_amount": "1001.0",
- "interest_amount_total": "146.84",
- "payment_day": 15
}
}
GET /partner/v2/shops/:shop_uuid/account_statements/bank_list?application_uuid=application_uuid
The AIS endpoints are used to submit the income proof statement or for AIS verification of the customer.
In cases when the application receives the income_proof_required
decision, the flow needs to include the AIS upload process. The first step is retrieving the list of available banks from which the account statement can be provided via the GET /partner/v2/shops/:shop_uuid/account_statements/bank_list
API request. The request returns the name, ID and icon URL for each of the available banks. The selection of the banks needs to be displayed to the customer. Please note that the selection of banks is subject to change.
In cases when the customer needs to go through AIS verification these endpoints need to be used after contract signing.
You can find the details of the flows here.
Return bank list by shop UUID & application UUID
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "bank_list": [
- {
- "name": "Citadele",
- "id": "CITADELE_PARXEE22",
}, - {
- "name": "Sandbox",
- "id": "SANDBOXFINANCE_SFIN0000",
}
]
}
POST /partner/v2/shops/:shop_uuid/account_statements/initiate_retrieval
Once the customer selects a bank, the AIS upload session can be started using the POST /api/partner/v2/shops/:shop_uuid/account_statements/initiate_retrieval
API request. The response includes the redirect URL to which the customer should be forwarded to complete the AIS upload process. Once that process is complete, the customer will be redirected back to your site, to the return URL you have indicated in the request body.
To learn the new decision which the application has received after the AIS upload and processing, the GET /partner/v2/shops/:shop_uuid/applications/:application_uuid
endpoint needs to be polled until there is a new decision_status
. The usual processing time is within 1 working day.
Upload session
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "application_uuid": "42c939bc-1111-2222-3333-b84fea5b86f6",
- "bank_id": 24,
- "locale": "en"
}
{- "retrieval_id": "b7cfdbc3-1111-2222-3333-6c42b60129b8",
}
POST /partner/v2/shops/:shop_uuid/applications/:application_uuid/attachments
The account statement file can be forwarded to Inbank via the POST /partner/v2/shops/:shop_uuid/applications/:application_uuid/attachments
endpoint. If applied, this endpoint needs to be used instead of the AIS upload related endpoints.
Please note, as income proof documents are processed by Inbank representatives in case of a manual upload, income verification can take some time. To learn the new decision the application has received after the account statement upload and processing, the GET /partner/v2/shops/:shop_uuid/applications/:application_uuid
endpoint needs to be polled until there is a new decision_status
.
Request body parameters:
Attachments must be submitted as form-data.
cURL example: --form "attachments[]=@/path_to/file1.pdf" --form "attachments[]=@/path_to/file2.pdf"
Upload session
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{- "attachments": [ ],
- "type": "income_proof_document",
- "description": "Description here"
}
{- "message": "unauthorized"
}
POST /partner/v2/shops/:shop_uuid/applications/:application_uuid/accept
After the credit application receives a positive decision and the credit offer is presented to the customer, they can choose to accept the offer, which is done through the POST /partner/v2/shops/:shop_uuid/applications/:application_uuid/accept
endpoint. Accepting the application automatically creates a contract and returns the identifier of the contract in the response.
Accepts application and creates contract
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{- "contract": {
- "uuid": "5e3a459a-aada-4d81-b6ad-09cb9483c8bf"
}
}
POST /partner/v2/shops/:shop_uuid/applications/:application_uuid/cancel
After the credit application receives a positive decision and the credit offer is presented to the customer, they can choose to cancel their credit application, which is done through the POST /partner/v2/shops/:shop_uuid/applications/:application_uuid/cancel
endpoint.
Cancel application
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{- "message": "unauthorized"
}
Credit contracts contain the details of the financing agreement between the customer and Inbank. Once the contract is activated, the partner is to supply goods/services to the customer.
GET /partner/v2/shops/:shop_uuid/contracts/:contract_uuid/printouts
The details of the contract are included in the printout which can be retrieved using the GET /partner/v2/shops/:shop_uuid/contracts/:contract_uuid/printouts
endpoint.
The response includes the link to the contract printout file.
Gets contract printout
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "uuid": "8a5951fb-835f-4f5f-ae1a-508d5bdd15d5",
}
POST /partner/v2/shops/:shop_uuid/contracts/:contract_uuid/signings
After the customer accepts the credit offer and has reviewed the contract, they can proceed to contract signing which is done via the POST /partner/v2/shops/:shop_uuid/contracts/:contract_uuid/signings
endpoint. There are the following signing methods available:
digital
- the method is used in cases when the partner has a separate signing solution. The request with the digital signing method is used as a confirmation that signing has been successful.paper
- the method is used if you are collecting paper contracts signed by the customer.sms
- with this method the signing is done using an SMS code. After you send the request, the customer will receive an SMS with the code from Inbank. After that, the code is sent over to Inbank for confirmation via the PATCH /contracts/:contract_uuid/signings
request.Creates a new signing
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
Service Unavailable
{- "method": "sms"
}
{- "message": "unauthorized"
}
PATCH /partner/v2/shops/:shop_uuid/contracts/:contract_uuid/signings
To confirm the signing the customer needs to enter the code they received to their mobile from Inbank, the code is sent over to Inbank for confirmation via the PATCH /partner/v2/shops/:shop_uuid/contracts/:contract_uuid/signings
endpoint.
Creates a new contract signing
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{- "method": "sms",
- "confirmation_code": 123456
}
{- "signing": {
- "uuid": "f4874353-6bb3-4dc8-a25a-3b1c000000000",
- "number": 89001300000,
- "signed_at": "2019-05-22T14:36:22+02:00",
- "method": "sms"
}
}
GET /partner/v2/shops/:shop_uuid/contracts/:contract_uuid
Once the credit contract UUID has been retrieved and the contract has been signed, the partner can check the status of the credit contract using the GET /partner/v2/shops/:shop_uuid/contracts/:contract_uuid
request. The response will include the status
parameter. If the status is activated
, the purchase has been successfully financed by Inbank and the purchase items can be forwarded to the customer.
If the flow includes merchant approval, the merchant checks if the status of the contract is signed
. When the contract is in the signed
status, the merchant needs to approve or cancel the contract. If the merchant approved the contract, they need to check if the contract status has been changed to activated
, which indicates that the purchase was successfully financed by Inbank.
As customer signing processing might take some time, the endpoint may need to be polled for a certain amount of time. In case of digital
, sms
or paper
signing methods, the endpoint needs to be polled once every second for a maximum of 15 seconds.
The response may include the process_status
parameter, which you might need to take into account for certain flows. The flows are described here. The related process_status
values are:
waiting_for_customer_digital_verification
- the customer needs to go through AIS verification.waiting_for_partners_confirmation
- the contract is waiting for partner approval.Returns contract details
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "contract": {
- "status": "unsigned",
- "termination_reason": null,
- "uuid": "11d1baeb-1da1-1c01-b111-12111211c1a1",
- "number": 89001350000,
- "payout_account_number": "EE19824845453792774580000000",
- "activated_at": null,
- "activator_name": null,
- "terminated_at": null,
- "product_code": "insurance_fin",
- "customer_signed": null,
- "rep_signed": null,
- "signed_at": null,
- "partner_approval_at": null,
- "customer_uuid": "40837f6d-0000-0000-0000-59a5b1efedd8",
- "identification_satisfied": true
}
}
POST /partner/v2/shops/:shop_uuid/contracts/:contract_uuid/merchant_approval
Give merchant approval for contract activation. This endpoint can be used only in case it's agreed with Inbank. If used, then contract will not be activated before merchant's approval is given. This endpoint is relevant, for example, when there is a need to double-check that the required goods are available.
If the flow includes merchant approval, the merchant checks if the status of the contract is signed using the GET /partner/v2/shops/:shop_uuid/contracts/:contract_uuid
request. When the contract is in the signed status, the merchant needs to approve or cancel the contract.
To approve the contract, the e-shop needs to know the credit contract UUID, which is in the response to the POST/:application_uuid/accept request.
The request does not require any parameters to be passed in its body.
Note that you can also approve contracts in the Partner Portal.
Merchant approval and activation
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "message": "unauthorized"
}
POST /partner/v2/shops/:shop_uuid/contracts/:contract_uuid/cancel
If the flow includes merchant approval, the merchant checks if the status of the contract is signed using the GET /partner/v2/shops/:shop_uuid/contracts/:contract_uuid
request. When the contract is in the signed status, the merchant needs to approve or cancel the contract.
To cancel the contract, the e-shop needs to know the credit contract UUID, which is in the response to the POST/:application_uuid/accept request.
The request does not require any parameters to be passed in its body.
Note that you can also cancel contracts in the Partner Portal.
Cancel contract
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Internal Server Error
{- "message": "unauthorized"
}