Download OpenAPI specification:Download
InstaCash vs 3rd party Webshop API for BNPL
/api/bnpl/external/available-offers
with a GET
query.(This is a feature that enables using multiple BNPL offers depending on different criteria, such as cart value, product category, etc.)
Calculation: /api/bnpl/external/calculation/{offerId}
with selected {offerId}
Create application: /api/bnpl/external/application
with POST
request
The data received in the response must be processed: The unique identifier of the application must be placed, which can be modified by referring to it.
Example redirect urls:
Set status in calling system: In this case, OLM returns with a CREATED
status, which changes to LINKED
if the customer has started the application.
The status of the application can be queried: /api/bnpl/external/application/{id}
with GET
The application can be cancelled: /api/bnpl/external/application/{id}
with DELETE
The system sends a notification about the change in the status of the purchase to the webhook specified on the merchant interface in the form of a response also used when creating the purchase..
It is now possible to enter a webhook to which OLM returns the status changes, so it is not necessary to check it separately.
Gets basic data on the offers available to use. Merchant is identified from the API Key
X-API-KEY required | string |
curl --request GET \ --url 'https://bnpl.instacash.hu/api/bnpl/external/available-offers/' \ --header 'content-type: application/json; charset=UTF-8' \ --header 'X-API-KEY: {apiKey}' \
[- {
- "offerId": 0,
- "financierIdentifier": "string",
- "offerName": "string",
- "offerIdentifier": "string",
- "downPayment": 0,
- "rate": 0,
- "installments": 1,
- "fee": 0,
- "commission": 0,
- "latenessFee": 0,
- "latenessThreshold": 0,
- "minAmount": 0,
- "maxAmount": 0
}
]
offerId required | integer <int64> The target offer's ID |
value required | number Cart amount |
X-API-KEY required | string |
curl --request GET \ --url 'https://bnpl.instacash.hu/api/bnpl/external/calculation/{offerId}' \ --header 'content-type: application/json; charset=UTF-8' \ --header 'X-API-KEY: {apiKey}' \ --data value={total}
{- "payments": [
- {
- "seq": 0,
- "dueDate": "2019-08-24",
- "sum": 0,
- "fee": 0
}
], - "total": 0,
- "fee": 0,
- "rate": 0,
- "downPayment": 0,
- "downPaymentTotal": 0,
- "thm": 0,
- "currencyIso": "string"
}
This call will:
X-API-KEY required | string |
offerId required | integer <int64> The target offer's id |
checkoutId | string [ 0 .. 255 ] characters ID of the order in the calling system |
totalAmount required | number > 0 The full to-be-billed amount |
customerId | string [ 0 .. 127 ] characters The customer's ID in the calling system (optional) |
customerFirstName | string [ 0 .. 255 ] characters The customer's first name in the calling system (optional) |
customerLastName | string [ 0 .. 255 ] characters The customer's last name in the calling system (optional) |
customerEmail | string [ 0 .. 255 ] characters The customer's name in the calling system (optional) |
customerPhone | string [ 0 .. 127 ] characters The customer's phone number in the calling system in the international phone number format, e.g. 36301234567 (optional) |
financier | string [ 0 .. 67 ] characters ID of the financier of the offer |
object (BillingAddress) | |
object (ShippingAddress) | |
orderId required | string [ 0 .. 255 ] characters ID of the order in the calling system. |
prepaymentInvoiceId | string [ 0 .. 255 ] characters ID of the prepayment invoice in the calling system. |
finalInvoiceId | string [ 0 .. 255 ] characters ID of the final invoice in the calling system. |
invoiceId | string [ 0 .. 255 ] characters ID of the invoice in the calling system. |
redirectUrl | string [ 0 .. 255 ] characters The url to redirect the user to when the application process terminates |
shoppingMode | string Enum: "IN_STORE" "WEB_SHOP" This is the structure represents of a shopping mode |
required | Array of objects (OrderItemRequest) |
{- "offerId": 0,
- "checkoutId": "string",
- "totalAmount": 0,
- "customerId": "string",
- "customerFirstName": "string",
- "customerLastName": "string",
- "customerEmail": "string",
- "customerPhone": "string",
- "financier": "string",
- "billingAddress": {
- "country": "st",
- "city": "string",
- "region": "st",
- "zip": "string",
- "street": "string",
- "street2": "string",
- "street3": "string"
}, - "shippingAddress": {
- "country": "st",
- "city": "string",
- "region": "st",
- "zip": "string",
- "street": "string",
- "street2": "string",
- "street3": "string",
- "fullName": "string"
}, - "orderId": "string",
- "prepaymentInvoiceId": "string",
- "finalInvoiceId": "string",
- "invoiceId": "string",
- "redirectUrl": "string",
- "shoppingMode": "IN_STORE",
- "items": [
- {
- "identifier": "string",
- "externalId": "string",
- "name": "string",
- "price": 0,
- "quantity": 1,
- "thumbnail": "string",
- "description": "string"
}
]
}
{- "publicId": "string",
- "customerId": "string",
- "applicationId": 0,
- "dealId": 0,
- "purchaseId": 0,
- "created": "2019-08-24T14:15:22Z",
- "isPreScore": true,
- "shoppingMode": "IN_STORE",
- "status": "string",
- "flowPosition": "string"
}
Used to cancel an application
id required | string Application ID (can be either the OLM assigned ID or the "externalId" in the original request) |
X-API-KEY required | string |
curl --request DELETE \ --url 'https://bnpl.instacash.hu/api/bnpl/external/application/{id}' \ --header 'content-type: application/json; charset=UTF-8' \ --header 'X-API-KEY: {apiKey}' \
{- "headers": {
- "empty": true,
- "host": {
- "address": {
- "canonicalHostName": "string",
- "hostAddress": "string",
- "address": [
- "string"
], - "hostName": "string",
- "linkLocalAddress": true,
- "multicastAddress": true,
- "anyLocalAddress": true,
- "loopbackAddress": true,
- "siteLocalAddress": true,
- "mcglobal": true,
- "mcnodeLocal": true,
- "mclinkLocal": true,
- "mcsiteLocal": true,
- "mcorgLocal": true
}, - "port": 0,
- "unresolved": true,
- "hostName": "string",
- "hostString": "string"
}, - "lastModified": 0,
- "contentLength": 0,
- "date": 0,
- "origin": "string",
- "contentType": {
- "type": "string",
- "subtype": "string",
- "parameters": {
- "property1": "string",
- "property2": "string"
}, - "qualityValue": 0,
- "charset": "string",
- "concrete": true,
- "wildcardType": true,
- "wildcardSubtype": true,
- "subtypeSuffix": "string"
}, - "connection": [
- "string"
], - "ifModifiedSince": 0,
- "range": [
- { }
], - "contentDisposition": {
- "type": "string",
- "name": "string",
- "filename": "string",
- "charset": "string",
- "size": 0,
- "creationDate": "2019-08-24T14:15:22Z",
- "modificationDate": "2019-08-24T14:15:22Z",
- "readDate": "2019-08-24T14:15:22Z",
- "inline": true,
- "attachment": true,
- "formData": true
}, - "acceptCharset": [
- "string"
], - "allow": [
- { }
], - "cacheControl": "string",
- "contentLanguage": {
- "language": "string",
- "script": "string",
- "country": "string",
- "variant": "string",
- "unicodeLocaleAttributes": [
- "string"
], - "unicodeLocaleKeys": [
- "string"
], - "displayLanguage": "string",
- "displayScript": "string",
- "displayCountry": "string",
- "displayVariant": "string",
- "displayName": "string",
- "extensionKeys": [
- "string"
], - "iso3Language": "string",
- "iso3Country": "string"
}, - "etag": "string",
- "acceptLanguageAsLocales": [
- {
- "language": "string",
- "script": "string",
- "country": "string",
- "variant": "string",
- "unicodeLocaleAttributes": [
- "string"
], - "unicodeLocaleKeys": [
- "string"
], - "displayLanguage": "string",
- "displayScript": "string",
- "displayCountry": "string",
- "displayVariant": "string",
- "displayName": "string",
- "extensionKeys": [
- "string"
], - "iso3Language": "string",
- "iso3Country": "string"
}
], - "accessControlAllowCredentials": true,
- "accessControlMaxAge": 0,
- "accessControlExposeHeaders": [
- "string"
], - "accessControlAllowOrigin": "string",
- "ifUnmodifiedSince": 0,
- "accessControlAllowMethods": [
- { }
], - "accessControlRequestMethod": { },
- "accessControlRequestHeaders": [
- "string"
], - "accessControlAllowHeaders": [
- "string"
], - "acceptLanguage": [
- {
- "range": "string",
- "weight": 0
}
], - "accept": [
- {
- "type": "string",
- "subtype": "string",
- "parameters": {
- "property1": "string",
- "property2": "string"
}, - "qualityValue": 0,
- "charset": "string",
- "concrete": true,
- "wildcardType": true,
- "wildcardSubtype": true,
- "subtypeSuffix": "string"
}
], - "acceptPatch": [
- {
- "type": "string",
- "subtype": "string",
- "parameters": {
- "property1": "string",
- "property2": "string"
}, - "qualityValue": 0,
- "charset": "string",
- "concrete": true,
- "wildcardType": true,
- "wildcardSubtype": true,
- "subtypeSuffix": "string"
}
], - "vary": [
- "string"
], - "upgrade": "string",
- "ifMatch": [
- "string"
], - "expires": 0,
- "ifNoneMatch": [
- "string"
], - "pragma": "string",
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "statusCode": {
- "error": true,
- "is1xxInformational": true,
- "is2xxSuccessful": true,
- "is3xxRedirection": true,
- "is5xxServerError": true,
- "is4xxClientError": true
}, - "body": {
- "title": "string",
- "status": 0,
- "detail": "string",
- "properties": {
- "property1": { },
- "property2": { }
}
}, - "titleMessageCode": "string",
- "detailMessageArguments": [
- { }
], - "detailMessageCode": "string"
}
Get basic data on a single offer, only some limited information because this endpoint is working without authentication
offerId required | integer <int64> The target offer's ID |
curl --request GET \ --url 'https://bnpl.instacash.hu/api/bnpl/external/offer/{offerId}' \ --header 'content-type: application/json; charset=UTF-8' \ --header 'X-API-KEY: {apiKey}' \
{- "offerId": 0,
- "financierIdentifier": "string",
- "downPayment": 0,
- "rate": 0,
- "installments": 1,
- "minAmount": 0,
- "maxAmount": 0
}
Get listing data on all applications of the merchant
financier | string The financier ID string, functions as an optional filter |
required | object (Pageable) |
X-API-KEY required | string |
curl --request GET \ --url 'https://bnpl.instacash.hu/api/bnpl/external/application/' \ --header 'content-type: application/json; charset=UTF-8' \ --header 'X-API-KEY: {apiKey}' \
[- {
- "offerId": "string",
- "id": "string",
- "publicId": "string",
- "dealId": 0,
- "purchaseId": 0,
- "financier": "string",
- "interest": 0,
- "thm": 0,
- "installments": 0,
- "status": "CREATED",
- "lastStatusChange": "2019-08-24T14:15:22Z"
}
]
Used to request up-to-date information about an ongoing purchase
id required | string Application ID (can be either the OLM assigned ID or the "externalId" in the original request) |
X-API-KEY required | string |
curl --request GET \ --url 'https://bnpl.instacash.hu/api/bnpl/external/application/{id}' \ --header 'content-type: application/json; charset=UTF-8' \ --header 'X-API-KEY: {apiKey}' \
{- "publicId": "string",
- "customerId": "string",
- "applicationId": 0,
- "dealId": 0,
- "purchaseId": 0,
- "created": "2019-08-24T14:15:22Z",
- "isPreScore": true,
- "shoppingMode": "IN_STORE",
- "status": "string",
- "flowPosition": "string"
}
Get listing data on all purchases of the merchant
financier | string The financier ID string, functions as an optional filter |
X-API-KEY required | string |
curl --request GET \ --url 'https://bnpl.instacash.hu/api/bnpl/external/purchase' \ --header 'content-type: application/json; charset=UTF-8' \ --header 'X-API-KEY: {apiKey}' \ --data financier={financierId}
[- {
- "id": "string",
- "dealId": 0,
- "applicationId": 0,
- "orderId": "string",
- "checkoutId": "string",
- "totalAmount": 0,
- "prepaymentInvoiceId": "string",
- "finalInvoiceId": "string",
- "invoiceId": "string",
- "items": [
- {
- "identifier": "string",
- "externalId": "string",
- "name": "string",
- "price": 0,
- "quantity": 1,
- "thumbnail": "string"
}
]
}
]
Get all data of the specific purchase
id required | integer <int64> Purchase ID |
X-API-KEY required | string |
curl --request GET \ --url 'https://bnpl.instacash.hu/api/bnpl/external/purchase/{id}' \ --header 'content-type: application/json; charset=UTF-8' \ --header 'X-API-KEY: {apiKey}' \
{- "id": "string",
- "dealId": 0,
- "applicationId": 0,
- "orderId": "string",
- "checkoutId": "string",
- "totalAmount": 0,
- "prepaymentInvoiceId": "string",
- "finalInvoiceId": "string",
- "invoiceId": "string",
- "items": [
- {
- "identifier": "string",
- "externalId": "string",
- "name": "string",
- "price": 0,
- "quantity": 1,
- "thumbnail": "string"
}
]
}
Get listing data on all deals of the merchant
financier | string The financier ID string, functions as an optional filter |
X-API-KEY required | string |
curl --request GET \ --url 'https://bnpl.instacash.hu/api/bnpl/external/deal' \ --header 'content-type: application/json; charset=UTF-8' \ --header 'X-API-KEY: {apiKey}' \ --data financier={financierId}
[- {
- "id": "string",
- "applicationId": 0,
- "financier": "string",
- "purchaseId": 0,
- "downPayment": 0,
- "downPaymentValue": 0,
- "serviceFee": 0,
- "latenessThreshold": 0,
- "commission": 0,
- "status": "PREPARED",
- "lastStatusChange": "2019-08-24T14:15:22Z",
- "transactions": [
- {
- "seq": 0,
- "dueDate": "2019-08-24T14:15:22Z",
- "sum": 0,
- "fee": 0,
- "latenessFee": 0,
- "commission": 0,
- "isLate": true,
- "status": "DUE",
- "transactionUuid": "string",
- "attempts": [
- {
- "sum": 0,
- "timestamp": "2019-08-24T14:15:22Z",
- "result": "SUCCESS",
- "finishedAt": "2019-08-24T14:15:22Z",
- "statusUpdatedAt": "2019-08-24T14:15:22Z",
- "resultReason": "string"
}
]
}
], - "billingAddress": {
- "country": "st",
- "city": "string",
- "region": "st",
- "zip": "string",
- "street": "string",
- "street2": "string",
- "street3": "string"
}, - "shippingAddress": {
- "country": "st",
- "city": "string",
- "region": "st",
- "zip": "string",
- "street": "string",
- "street2": "string",
- "street3": "string",
- "fullName": "string"
}
}
]
Get all data of the specific deal
id required | integer <int64> Deal ID |
X-API-KEY required | string |
curl --request GET \ --url 'https://bnpl.instacash.hu/api/bnpl/external/deal/{id}' \ --header 'content-type: application/json; charset=UTF-8' \ --header 'X-API-KEY: {apiKey}' \
{- "id": "string",
- "applicationId": 0,
- "financier": "string",
- "purchaseId": 0,
- "downPayment": 0,
- "downPaymentValue": 0,
- "serviceFee": 0,
- "latenessThreshold": 0,
- "commission": 0,
- "status": "PREPARED",
- "lastStatusChange": "2019-08-24T14:15:22Z",
- "transactions": [
- {
- "seq": 0,
- "dueDate": "2019-08-24T14:15:22Z",
- "sum": 0,
- "fee": 0,
- "latenessFee": 0,
- "commission": 0,
- "isLate": true,
- "status": "DUE",
- "transactionUuid": "string",
- "attempts": [
- {
- "sum": 0,
- "timestamp": "2019-08-24T14:15:22Z",
- "result": "SUCCESS",
- "finishedAt": "2019-08-24T14:15:22Z",
- "statusUpdatedAt": "2019-08-24T14:15:22Z",
- "resultReason": "string"
}
]
}
], - "billingAddress": {
- "country": "st",
- "city": "string",
- "region": "st",
- "zip": "string",
- "street": "string",
- "street2": "string",
- "street3": "string"
}, - "shippingAddress": {
- "country": "st",
- "city": "string",
- "region": "st",
- "zip": "string",
- "street": "string",
- "street2": "string",
- "street3": "string",
- "fullName": "string"
}
}
THIS IS AN OUTGOING REQUEST NOT AN ENDPOINT The entire url of this call can (must) be configured for each merchant, no path or query is added, the "/configured-webhook-uri" will be replaced Ideally, the url should be absolute, ex.: "https://www.mici-shop.hu/instacash/bnpl-hook"
object (ApplicationResponse) | |
object (DealResponse) | |
object (PurchaseResponse) |
{- "application": {
- "offerId": "string",
- "id": "string",
- "publicId": "string",
- "dealId": 0,
- "purchaseId": 0,
- "financier": "string",
- "interest": 0,
- "thm": 0,
- "installments": 0,
- "status": "CREATED",
- "lastStatusChange": "2019-08-24T14:15:22Z"
}, - "deal": {
- "id": "string",
- "applicationId": 0,
- "financier": "string",
- "purchaseId": 0,
- "downPayment": 0,
- "downPaymentValue": 0,
- "serviceFee": 0,
- "latenessThreshold": 0,
- "commission": 0,
- "status": "PREPARED",
- "lastStatusChange": "2019-08-24T14:15:22Z",
- "transactions": [
- {
- "seq": 0,
- "dueDate": "2019-08-24T14:15:22Z",
- "sum": 0,
- "fee": 0,
- "latenessFee": 0,
- "commission": 0,
- "isLate": true,
- "status": "DUE",
- "transactionUuid": "string",
- "attempts": [
- {
- "sum": 0,
- "timestamp": "2019-08-24T14:15:22Z",
- "result": "SUCCESS",
- "finishedAt": "2019-08-24T14:15:22Z",
- "statusUpdatedAt": "2019-08-24T14:15:22Z",
- "resultReason": "string"
}
]
}
], - "billingAddress": {
- "country": "st",
- "city": "string",
- "region": "st",
- "zip": "string",
- "street": "string",
- "street2": "string",
- "street3": "string"
}, - "shippingAddress": {
- "country": "st",
- "city": "string",
- "region": "st",
- "zip": "string",
- "street": "string",
- "street2": "string",
- "street3": "string",
- "fullName": "string"
}
}, - "purchase": {
- "id": "string",
- "dealId": 0,
- "applicationId": 0,
- "orderId": "string",
- "checkoutId": "string",
- "totalAmount": 0,
- "prepaymentInvoiceId": "string",
- "finalInvoiceId": "string",
- "invoiceId": "string",
- "items": [
- {
- "identifier": "string",
- "externalId": "string",
- "name": "string",
- "price": 0,
- "quantity": 1,
- "thumbnail": "string"
}
]
}
}
The one-click payment option offers customers a seamless and secure way to complete their purchases in just one step. Once a payment method is saved, users can complete future transactions instantly with a single click. For added security, a unique SMS confirmation code is sent to the customer to verify their identity before processing the payment. This ensures a fast, user-friendly checkout experience while maintaining the highest level of security. Perfect for returning customers who value convenience and efficiency, this solution simplifies online shopping and reduces cart abandonment.
X-API-KEY required | string |
offerId required | integer <int64> The target offer's id |
totalAmount required | number > 0 The full to-be-billed amount |
customerPhone required | string [ 0 .. 127 ] characters The customer's phone number in the calling system |
{- "offerId": 0,
- "totalAmount": 0,
- "customerPhone": "string"
}
X-API-KEY required | string |
secondFactorId required | string |
code required | string |
publicId required | string |
nonce required | string |
{- "secondFactorId": "string",
- "code": "string",
- "publicId": "string",
- "nonce": "string"
}
X-API-KEY required | string |
offerId required | integer <int64> The target offer's id |
totalAmount required | number > 0 The full to-be-billed amount |
customerPhone required | string [ 0 .. 127 ] characters The customer's phone number in the calling system |
object (ShippingAddress) | |
orderId required | string [ 0 .. 255 ] characters ID of the order in the calling system. |
required | Array of objects (OrderItemRequest) |
{- "offerId": 0,
- "totalAmount": 0,
- "customerPhone": "string",
- "shippingAddress": {
- "country": "st",
- "city": "string",
- "region": "st",
- "zip": "string",
- "street": "string",
- "street2": "string",
- "street3": "string",
- "fullName": "string"
}, - "orderId": "string",
- "items": [
- {
- "identifier": "string",
- "externalId": "string",
- "name": "string",
- "price": 0,
- "quantity": 1,
- "thumbnail": "string",
- "description": "string"
}
]
}