checkout-backend-merchant-v3.API (v3)
Download OpenAPI specification:Download
See the Checkout API Guide.
Create a Checkout session
header Parameters
Vipps-System-Name required | string <= 30 characters Default: {{system_name}} Example: Acme Commerce The name of the ecommerce solution. See http-headers. |
Vipps-System-Version required | string <= 30 characters Default: {{system_version}} Example: 3.1.2 The version number of the ecommerce solution. See http-headers. |
Vipps-System-Plugin-Name required | string <= 30 characters Default: {{system_plugin_name}} Example: acme-webshop The name of the ecommerce plugin. See http-headers. |
Vipps-System-Plugin-Version required | string <= 30 characters Default: {{system_plugin_version}} Example: 4.5.6 The version number of the ecommerce plugin. See http-headers. |
client_id required | string Default: {{client_id}} Example: fb492b5e-7907-4d83-bc20-c7fb60ca35de Client ID for the merchant (the "username"). See API keys. |
client_secret required | string Default: {{client_secret}} Example: Y8Kteew6GE3ZmeycEt6egg== Client Secret for the merchant (the "password"). See API keys. |
Ocp-Apim-Subscription-Key required | string Default: {{Ocp-Apim-Subscription-Key}} Example: 0f14ebcab0eb4b29ae0cb90d91b4a84a Vipps Subscription key for the API product. See API keys. |
Merchant-Serial-Number required | string Default: {{merchantSerialNumber}} Example: 123456 Vipps assigned unique number for a merchant. See API keys. |
Idempotency-Key | string Default: {{Idempotency-Key}} Example: fb492b5e-7907-4d83-ba20-c7fb60ca35de Idempotency key for the request, ensures idempotent actions. See Idempotency. |
Request Body schema:
required | object |
object or null If both dynamic and fixed options are specified, dynamic options is provided to the user. If no DynamicOptionsCallback is provided, only fixed logistics options will be used. When using dynamic shipping we recommend that you define logistics.fixedOptions as a backup. If the callback does not resolve successfully within 8 seconds, returns null or an empty list the system will fall back to static options. If no fallback options are provided, the user will be presented with an error and will not be able to continue with the checkout. | |
type required | stringPAYMENT Default: "PAYMENT" |
object or null Information about the customer to be prefilled If any of the customer information is invalid such as the phone number, the customer will be prompted to input new user information. | |
required | object |
object or null |
Responses
Callbacks
Request samples
- Payload
{- "type": "PAYMENT",
- "transaction": {
- "amount": {
- "value": 1000,
- "currency": "{{currency}}"
}, - "reference": "{{orderId}}",
- "paymentDescription": "{{transactionTextInitiate}}"
}, - "logistics": {
- "dynamicOptionsCallback": "{{dynamicOptionsCallbackUrl}}",
- "fixedOptions": [
- {
- "brand": "POSTEN",
- "amount": {
- "value": 300,
- "currency": "{{currency}}"
}, - "id": "postenservicepakke1",
- "priority": 1,
- "isDefault": true,
- "description": "Your package is delivered to your home."
}, - {
- "brand": "POSTEN",
- "amount": {
- "value": 300,
- "currency": "{{currency}}"
}, - "type": "PICKUP_POINT",
- "id": "postenservicepakke2",
- "priority": 2,
- "isDefault": false,
- "description": "Pick up your package at the local store."
}
], - "integrations": {
- "porterbuddy": {
- "publicToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni ",
- "apiKey": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni ",
- "origin": {
- "name": "{{firstName}} {{lastName}}",
- "email": "{{email}}",
- "phoneNumber": "{{internationalMobileNumber}}",
- "address": {
- "streetAddress": "{{streetAddress}}",
- "postalCode": "{{postalCode}}",
- "city": "{{city}}",
- "country": "{{country}}"
}
}
}
}
}, - "prefillCustomer": {
- "firstName": "{{firstName}}",
- "lastName": "{{lastName}}",
- "email": "{{email}}",
- "phoneNumber": "{{internationalMobileNumber}}",
- "streetAddress": "{{streetAddress}}",
- "city": "{{city}}",
- "postalCode": "{{postalCode}}",
- "country": "{{country}}"
}, - "merchantInfo": {
- "callbackUrl": "{{callbackUrl}}",
- "returnUrl": "{{fallBack}}",
- "callbackAuthorizationToken": "{{$guid}}",
- "termsAndConditionsUrl": "{{termsAndConditionsUrl}}"
}, - "configuration": {
- "customerInteraction": "CUSTOMER_NOT_PRESENT",
- "elements": "Full",
- "countries": {
- "supported": [
- "NO",
- "SE",
- "DK"
]
}
}
}
Response samples
- 200
- 400
- 401
- 403
- 409
- 500
- 502
{- "token": "string",
- "checkoutFrontendUrl": "string",
- "pollingUrl": "string"
}
Callback payload samples
{- "streetAddress": "string",
- "postalCode": "string",
- "region": "string",
- "country": "string"
}
Get session info
Transaction information, user information and shipping information are included in the response if the SessionState is PaymentInitiated
path Parameters
reference required | string Default: "{{orderId}}" The reference of the session. Example: "123123". |
header Parameters
Vipps-System-Name required | string <= 30 characters Default: {{system_name}} Example: Acme Commerce The name of the ecommerce solution. See http-headers. |
Vipps-System-Version required | string <= 30 characters Default: {{system_version}} Example: 3.1.2 The version number of the ecommerce solution. See http-headers. |
Vipps-System-Plugin-Name required | string <= 30 characters Default: {{system_plugin_name}} Example: acme-webshop The name of the ecommerce plugin. See http-headers. |
Vipps-System-Plugin-Version required | string <= 30 characters Default: {{system_plugin_version}} Example: 4.5.6 The version number of the ecommerce plugin. See http-headers. |
client_id required | string Default: {{client_id}} Example: fb492b5e-7907-4d83-bc20-c7fb60ca35de Client ID for the merchant (the "username"). See API keys. |
client_secret required | string Default: {{client_secret}} Example: Y8Kteew6GE3ZmeycEt6egg== Client Secret for the merchant (the "password"). See API keys. |
Ocp-Apim-Subscription-Key required | string Default: {{Ocp-Apim-Subscription-Key}} Example: 0f14ebcab0eb4b29ae0cb90d91b4a84a Vipps Subscription key for the API product. See API keys. |
Merchant-Serial-Number required | string Default: {{merchantSerialNumber}} Example: 123456 Vipps assigned unique number for a merchant. See API keys. |
Idempotency-Key | string Default: {{Idempotency-Key}} Example: fb492b5e-7907-4d83-ba20-c7fb60ca35de Idempotency key for the request, ensures idempotent actions. See Idempotency. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
- 502
{- "sessionId": "string",
- "merchantSerialNumber": "string",
- "reference": "string",
- "sessionState": "SessionCreated",
- "paymentMethod": "Wallet",
- "subscriptionDetails": {
- "state": "PENDING",
- "agreementId": "string"
}, - "paymentDetails": {
- "amount": {
- "value": 0,
- "currency": "string"
}, - "state": "CREATED",
- "aggregate": {
- "cancelledAmount": {
- "value": 0,
- "currency": "string"
}, - "capturedAmount": {
- "value": 0,
- "currency": "string"
}, - "refundedAmount": {
- "value": 0,
- "currency": "string"
}, - "authorizedAmount": {
- "value": 0,
- "currency": "string"
}
}, - "type": "Wallet"
}, - "userInfo": {
- "sub": "string",
- "email": "string"
}, - "shippingDetails": {
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phoneNumber": "string",
- "streetAddress": "string",
- "postalCode": "string",
- "city": "string",
- "country": "string",
- "shippingMethodId": "string",
- "amount": {
- "value": 0,
- "currency": "string"
}, - "pickupPoint": {
- "id": "string",
- "name": "string",
- "address": "string",
- "postalCode": "string",
- "city": "string",
- "country": "string",
- "openingHours": [
- "string"
]
}
}, - "billingDetails": {
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phoneNumber": "string",
- "streetAddress": "string",
- "postalCode": "string",
- "city": "string",
- "country": "string"
}, - "customConsentProvided": true
}