checkout-backend-merchant-v3.API (v3)
Download OpenAPI specification:Download
See the Checkout API Guide.
Create a Checkout session
header Parameters
Vipps-System-Name | string <= 30 characters Default: {{system_name}} Example: Acme Commerce |
Vipps-System-Version | string <= 30 characters Default: {{system_version}} Example: 3.1.2 |
Vipps-System-Plugin-Name | string <= 30 characters Default: {{system_plugin_name}} Example: acme-webshop |
Vipps-System-Plugin-Version | string <= 30 characters Default: {{system_plugin_version}} Example: 4.5.6 |
client_id | string Default: {{client_id}} Example: |
client_secret | string Default: {{client_secret}} Example: |
Ocp-Apim-Subscription-Key | string Default: {{Ocp-Apim-Subscription-Key}} Example: |
Merchant-Serial-Number | string Default: {{merchantSerialNumber}} Example: |
Idempotency-Key | string Default: {{Idempotency-Key}} Example: |
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 | string <= 30 characters Default: {{system_name}} Example: Acme Commerce |
Vipps-System-Version | string <= 30 characters Default: {{system_version}} Example: 3.1.2 |
Vipps-System-Plugin-Name | string <= 30 characters Default: {{system_plugin_name}} Example: acme-webshop |
Vipps-System-Plugin-Version | string <= 30 characters Default: {{system_plugin_version}} Example: 4.5.6 |
client_id | string Default: {{client_id}} Example: |
client_secret | string Default: {{client_secret}} Example: |
Ocp-Apim-Subscription-Key | string Default: {{Ocp-Apim-Subscription-Key}} Example: |
Merchant-Serial-Number | string Default: {{merchantSerialNumber}} Example: |
Idempotency-Key | string Default: {{Idempotency-Key}} Example: |
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
}