Create session
POST /v3/session
Create a Briqpay session for Checkout, Signup or Payment Module.
- To get started, take a look at the examples on the right:
Checkout, Signup or Payment Module - Read about Authentication
Query Parameters
- fields string
Limit which fields are returned by the API. The
fields
query parameter takes a comma-separated list of fields or 'none'. Example:fields=sessionId,htmlSnippet
. If 'none' is specified, an empty 204 will be returned.
Header Parameters
- Content-Type string
Possible values: [
application/json
] - Accept string
Possible values: [
application/json
] - Authorization string
Format: "Basic <base64(username:secret)>"
- application/json
Request Body
product object required
type string requiredPossible values: [
payment
,signup
]Type of Briqpay product.
intent string requiredPossible values: [
payment_one_time
,payment_tokenize
,payment_tokenize_and_charge
,payment_charge_token
,signup
]variantId stringProvide this if you have created an alternate variant configuration in the backoffice that you want to use.
- customerType customerType required
Possible values: [
business
,consumer
]Which type of customer this session is for.
- country country required
Country code in ISO 3166-1 alpha-2 format.
- locale locale required
Locale in "sv-se" / "en-gb" format.
urls object required
terms stringURL to your terms & conditions, will be shown in the iframe. Required when product.type is 'payment'.
redirect string requiredURL that users will be redirected to after completing the session. Usually some sort of thank-you page.
references object
Your own references, we recommend using property name "reference1" as your order reference for payments since this property is default for multiple payment providers. But any additional property name can be used e.g. customerId. Example: { "reference1": "000", "customerId": "12345" }
property name*
stringPossible values:
<= 512 characters
hooks object[]
Possible values:
<= 10
WARNING: These webhooks are unauthenticated so you must read the session after receiving events to validate the event.
Subscribe to events submitted by Briqpay.
The hook response consists of "event", "status" and "sessionId".
If using "GET", the response parameters will be sent as query parameters and when using "POST" it will be sent as the request body.
Example response payloads:
session_status:
{ "event": "session_status", "status": "completed", "sessionId": "61c16f84-b42e-4e1c-a114-a117a6e1e27d" }
order_status:
{ "event": "order_status", "status": "order_approved_not_captured", "sessionId": "61c16f84-b42e-4e1c-a114-a117a6e1e27d" }
capture_status:
{ "event": "capture_status", "status": "approved", "sessionId": "61c16f84-b42e-4e1c-a114-a117a6e1e27d", "captureId": "a3811397-a1fc-44f0-99fd-d134063c9c47", "autoCaptured": true, "isPreExistingCapture": true }
refund_status:
{ "event": "refund_status", "status": "approved", "sessionId": "61c16f84-b42e-4e1c-a114-a117a6e1e27d", "refundId": "a3811397-a1fc-44f0-99fd-d134063c9c47" }
Array [- oneOf
- Session status
- Order status
- Capture status
- Refund status
eventType stringPossible values: [
session_status
]statuses string[]Possible values: [
completed
]method stringPossible values: [
GET
,POST
]url stringeventType stringPossible values: [
order_status
]statuses string[]Possible values: [
order_pending
,order_rejected
,order_cancelled
,order_approved_not_captured
]method stringPossible values: [
GET
,POST
]url stringeventType stringPossible values: [
capture_status
]statuses string[]Possible values: [
pending
,approved
,rejected
]method stringPossible values: [
GET
,POST
]url stringeventType stringPossible values: [
refund_status
]statuses string[]Possible values: [
pending
,approved
,rejected
]method stringPossible values: [
GET
,POST
]url string]config object
General configuration for this session.
disableInsightsTracking booleanDefault value:
false
Disable Briqpay Insights tracking for this session.
disableSessionCompleteRedirect booleanDefault value:
false
Disable session complete redirect for this session.
data object
Provide data such as billing details and cart items.
order object
The order object contains all information about cart items, amounts and tax/vat. For the EU, VAT is represented with 'taxRate' on every item. For the US, all tax should be calculated into an item with the "sales_tax" productType.
currency currency requiredExample: SEK, EUR, USD
amountIncVat amountIncVat requiredAmount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
amountExVat amountExVat requiredAmount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
cart object[] required
Array [- oneOf
- Regular items
- US sales tax
productType string requiredPossible values: [
physical
,digital
,discount
,shipping_fee
,deposit
,surcharge
,adjustment
,gift_card
]Type of item.
'discount' - the unitPrice should be negative.
'adjustment' - Can only be used on refunds.
'gift_card' - When gift_card is used, a positive value indicates that a gift card is being purchased, and a negative value indicates a gift card being used as part of the payment. Keep in mind that gift cards are generally exempt from VAT/Tax as it's buying a currency and not a product.reference stringPossible values:
<= 256 characters
The SKU of the item
name string requiredPossible values:
<= 256 characters
quantity integer requiredPossible values:
>= 1
quantityUnit string requiredPossible values:
<= 10 characters
unitPrice integer requiredUnit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.
taxRate integer requiredThe applicable taxrate in minor units. Eg 25% = 2500
discountPercentage integerDiscount value in percentages. 10% = 1000
productType string requiredPossible values: [
sales_tax
]Has to be "sales_tax".
name string requiredPossible values:
<= 256 characters
reference stringPossible values:
<= 256 characters
Reference
totalTaxAmount integer requiredTotal tax amount for the order in minor units (e.g. 1 USD = 100 totalTaxAmount).
]company object
The company object can only be provided for customerType: "business".
cin object nullableCompany identification number. Example formats:
Sweden: Orgnr / VAT
Norway: Orgnr / VAT
Denmark: CVR / VAT
Finland: Business ID / VAT
Germany: HRB / VAT
Netherlands: KVK / VAT
France: SIREN / SIRET / VAT
United Kingdom: CRN
United States: EINname string nullableName of the company
consumer object
The consumer object can only be provided for customerType: "consumer".
identificationNumber stringNational identification number, social security number or similar. Not applicable for the US.
dateOfBirth stringDate of birth (YYYY-MM-DD).
name stringName of the person.
billing object
streetAddress stringPossible values:
<= 100 characters
streetAddress2 stringPossible values:
<= 100 characters
zip stringPossible values:
<= 100 characters
city stringPossible values:
<= 100 characters
region stringPossible values:
<= 100 characters
State / region. Example: "CA" for California in the US.
firstName stringPossible values:
<= 100 characters
lastName stringPossible values:
<= 100 characters
email stringPossible values:
<= 100 characters
phoneNumber stringcountry countryCountry code in ISO 3166-1 alpha-2 format.
shipping object
streetAddress stringPossible values:
<= 100 characters
streetAddress2 stringPossible values:
<= 100 characters
zip stringPossible values:
<= 100 characters
city stringPossible values:
<= 100 characters
region stringPossible values:
<= 100 characters
State / region. Example: "CA" for California in the US.
firstName stringPossible values:
<= 100 characters
lastName stringPossible values:
<= 100 characters
email stringPossible values:
<= 100 characters
phoneNumber stringcountry countryCountry code in ISO 3166-1 alpha-2 format.
tokenization object
tokenId string requiredThe token to charge for sessions with product.intent: "payment_charge_token".
modules object
Configure the module system.
loadModules string[]Possible values: [
company_lookup
,billing
,shipping
,upsell
,cross_border
,payment
,order_note
,custom_form
,terms
]Override which partial set of modules should be loaded, e.g. when you only want payments instead of a full flow.
config object
Configure modules.
company_lookup object
companyPrefillLock stringPossible values: [
none
,locked_with_manual_fallback
]billing object
lockFields object
Prevent users from editing addresses and user details. "hard_lock" - no user edits are possible, even with invalid data. "soft_lock" - empty or invalid fields will not be locked.
property name*
stringPossible values: [
none
,soft_lock
,hard_lock
]shipping object
lockFields object
Prevent users from editing addresses and user details. "hard_lock" - no user edits are possible, even with invalid data. "soft_lock" - empty or invalid fields will not be locked.
property name*
stringPossible values: [
none
,soft_lock
,hard_lock
]payment object
pspRulesOverride object
Override rules for payment methods in order to show or hide payment methods.
psp object[]
Array [pspId stringThe pspId of the payment method that you wish to manually control.
handles object required
enabled booleanShould this payment method be enabled?
locked booleanShould this payment method be locked?
strongAuth booleanShould Strong Authentication be required for this payment method?
config object
lockedMessage stringstrongAuthMessage stringotherHandles string requiredPossible values: [
run_rules
,disable
]How should other handles (locked, strongAuth, etc) configured on this payment method act?
]otherPsps stringPossible values: [
disable
,run_rules
]order_note object
Set/override which inputs will be collected in the Order note module.
customInputs object[]
Inputs that will be collected in the Order note module.
Array [type stringPossible values: [
string
,boolean
,object
]key stringThe input key, must be unique between all inputs.
label stringThe label to be presented in relation to the input.
minLength numbermaxLength numberrequired booleanDefault value:
false
span numberPossible values: [
1
,2
]Control if the input field should span over 1 or 2 columns.
enum string[]Configure available values when using a "enumRadio" or "enumDropdown" component.
component stringPossible values: [
textField
,textArea
,checkbox
,enumRadio
,enumDropdown
]]hideModule booleanterms object
Set/override which checkboxes exists in the Terms Module.
checkboxes object[]
Checkboxes that will be collected in the Terms module.
Array [key stringThe input key, must be unique between all inputs.
label stringThe label to be presented in relation to the input. Can be formatted with urls as following: "Yes, I want to subscribe to the [Newsletter](https://example.com)"
required boolean nullableDefault value:
false
default boolean nullableDefault value:
false
]upsell object
Configure which inputs will be collected in the Upsell module.
customInputs object[]
Inputs that will be collected in the Upsell module.
Array [type stringPossible values: [
string
,boolean
,object
]key stringThe input key, must be unique between all inputs.
label stringThe label to be presented in relation to the input.
minLength numbermaxLength numberrequired booleanDefault value:
false
span numberPossible values: [
1
,2
]Control if the input field should span over 1 or 2 columns.
enum string[]Configure available values when using a "enumRadio" or "enumDropdown" component.
component stringPossible values: [
textField
,textArea
,checkbox
,enumRadio
,enumDropdown
]]hideModule booleanheader stringPossible values:
<= 64 characters
Module header text.
subheader stringPossible values:
<= 512 characters
Module sub-header text.
footer stringPossible values:
<= 512 characters
Module footer text.
- 201
- 204
- 400
- 403
- application/json
- Schema
- Example (from schema)
Schema
- createdAt date
ISO 8601 format, example: "2023-04-12T13:16:08.647Z".
- sessionId uuid
UUID
- status sessionStatus
Possible values: [
started
,modules_in_progress
,completed
]Status of the session. Does not indicate status of payments, that can be read from moduleStatus.payment.orderStatus.
product object
type string requiredPossible values: [
payment
,signup
]Type of Briqpay product.
intent string requiredPossible values: [
payment_one_time
,payment_tokenize
,payment_tokenize_and_charge
,payment_charge_token
,signup
]id string deprecatedvariantId stringProvide this if you have created an alternate variant configuration in the backoffice that you want to use.
- customerType customerType
Possible values: [
business
,consumer
]Which type of customer this session is for.
- country country
Country code in ISO 3166-1 alpha-2 format.
- locale locale
Locale in "sv-se" / "en-gb" format.
urls object
terms stringURL to your terms & conditions, will be shown in the iframe. Required when product.type is 'payment'.
redirect string requiredURL that users will be redirected to after completing the session. Usually some sort of thank-you page.
references object
Your own references, we recommend using property name "reference1" as your order reference for payments since this property is default for multiple payment providers. But any additional property name can be used e.g. customerId. Example: { "reference1": "000", "customerId": "12345" }
property name*
stringPossible values:
<= 512 characters
hooks object[]
Possible values:
<= 10
WARNING: These webhooks are unauthenticated so you must read the session after receiving events to validate the event.
Subscribe to events submitted by Briqpay.
The hook response consists of "event", "status" and "sessionId".
If using "GET", the response parameters will be sent as query parameters and when using "POST" it will be sent as the request body.
Example response payloads:
session_status:
{ "event": "session_status", "status": "completed", "sessionId": "61c16f84-b42e-4e1c-a114-a117a6e1e27d" }
order_status:
{ "event": "order_status", "status": "order_approved_not_captured", "sessionId": "61c16f84-b42e-4e1c-a114-a117a6e1e27d" }
capture_status:
{ "event": "capture_status", "status": "approved", "sessionId": "61c16f84-b42e-4e1c-a114-a117a6e1e27d", "captureId": "a3811397-a1fc-44f0-99fd-d134063c9c47", "autoCaptured": true, "isPreExistingCapture": true }
refund_status:
{ "event": "refund_status", "status": "approved", "sessionId": "61c16f84-b42e-4e1c-a114-a117a6e1e27d", "refundId": "a3811397-a1fc-44f0-99fd-d134063c9c47" }
Array [- oneOf
- Session status
- Order status
- Capture status
- Refund status
eventType stringPossible values: [
session_status
]statuses string[]Possible values: [
completed
]method stringPossible values: [
GET
,POST
]url stringeventType stringPossible values: [
order_status
]statuses string[]Possible values: [
order_pending
,order_rejected
,order_cancelled
,order_approved_not_captured
]method stringPossible values: [
GET
,POST
]url stringeventType stringPossible values: [
capture_status
]statuses string[]Possible values: [
pending
,approved
,rejected
]method stringPossible values: [
GET
,POST
]url stringeventType stringPossible values: [
refund_status
]statuses string[]Possible values: [
pending
,approved
,rejected
]method stringPossible values: [
GET
,POST
]url string]- htmlSnippet htmlSnippet
The easiest way to render an iframe, simply add the html snippet where you want.
- clientToken clientToken
Can be used with the client SDK to render iframes.
moduleStatus object
States of individual modules.
company_lookup object
uiStatus uiStatusPossible values: [
locked_by_merchant
,not_yet_reached
,hidden
,visible
,visible_required
,visible_optional
,completed
]Status of the module in the UI.
billing object
uiStatus uiStatusPossible values: [
locked_by_merchant
,not_yet_reached
,hidden
,visible
,visible_required
,visible_optional
,completed
]Status of the module in the UI.
shipping object
uiStatus uiStatusPossible values: [
locked_by_merchant
,not_yet_reached
,hidden
,visible
,visible_required
,visible_optional
,completed
]Status of the module in the UI.
payment object
uiStatus uiStatusPossible values: [
locked_by_merchant
,not_yet_reached
,hidden
,visible
,visible_required
,visible_optional
,completed
]Status of the module in the UI.
orderStatus orderStatusPossible values: [
order_pending
,order_rejected
,order_cancelled
,order_approved_not_captured
,captured_partial
,captured_full
]Order status in the checkout / payment module.
refundStatus refundStatusPossible values: [
not_refunded
,partially_refunded
,captured_amount_fully_refunded
]data object
company object
Only available when the session is completed.
cin cinCompany identification number. Example formats:
Sweden: Orgnr / VAT
Norway: Orgnr / VAT
Denmark: CVR / VAT
Finland: Business ID / VAT
Germany: HRB / VAT
Netherlands: KVK / VAT
France: SIREN / SIRET / VAT
United Kingdom: CRN
United States: EINvatNumber string nullableCompany EU VAT number. Only available with some lookup providers & countries.
name stringCompany name.
vatValidation object
vatNo stringvalid booleancountry countryCountry code in ISO 3166-1 alpha-2 format.
consumer object
identificationNumber stringNational identification number, social security number or similar.
dateOfBirth stringDate of birth (YYYY-MM-DD).
name stringName of the person.
billing object
Only available when the session is completed.
companyName stringB2B only.
cin cinCompany identification number. Example formats:
Sweden: Orgnr / VAT
Norway: Orgnr / VAT
Denmark: CVR / VAT
Finland: Business ID / VAT
Germany: HRB / VAT
Netherlands: KVK / VAT
France: SIREN / SIRET / VAT
United Kingdom: CRN
United States: EINstreetAddress stringstreetAddress2 stringzip stringcity stringregion stringState / region. Example: "CA" for California in the US.
firstName stringlastName stringemail stringphoneNumber stringcountry countryCountry code in ISO 3166-1 alpha-2 format.
shipping object
Only available when the session is completed.
companyName stringB2B only.
cin cinCompany identification number. Example formats:
Sweden: Orgnr / VAT
Norway: Orgnr / VAT
Denmark: CVR / VAT
Finland: Business ID / VAT
Germany: HRB / VAT
Netherlands: KVK / VAT
France: SIREN / SIRET / VAT
United Kingdom: CRN
United States: EINstreetAddress stringstreetAddress2 stringzip stringcity stringregion stringState / region. Example: "CA" for California in the US.
firstName stringlastName stringemail stringphoneNumber stringcountry countryCountry code in ISO 3166-1 alpha-2 format.
order object
currency currencyExample: SEK, EUR, USD
amountIncVat amountIncVatAmount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
amountExVat amountExVatAmount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
cart object[]
Array [- oneOf
- Regular items
- US sales tax
productType string requiredPossible values: [
physical
,digital
,discount
,shipping_fee
,deposit
,surcharge
,adjustment
,gift_card
]Type of item.
'discount' - the unitPrice should be negative.
'adjustment' - Can only be used on refunds.
'gift_card' - When gift_card is used, a positive value indicates that a gift card is being purchased, and a negative value indicates a gift card being used as part of the payment. Keep in mind that gift cards are generally exempt from VAT/Tax as it's buying a currency and not a product.reference stringPossible values:
<= 256 characters
The SKU of the item
name string requiredPossible values:
<= 256 characters
quantity integer requiredPossible values:
>= 1
quantityUnit string requiredPossible values:
<= 10 characters
unitPrice integer requiredUnit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.
taxRate integer requiredThe applicable taxrate in minor units. Eg 25% = 2500
discountPercentage integerDiscount value in percentages. 10% = 1000
productType string requiredPossible values: [
sales_tax
]Has to be "sales_tax".
name string requiredPossible values:
<= 256 characters
reference stringPossible values:
<= 256 characters
Reference
totalTaxAmount integer requiredTotal tax amount for the order in minor units (e.g. 1 USD = 100 totalTaxAmount).
]transactions object[]
Only available when the session is completed.
Array [createdAt dateISO 8601 format, example: "2023-04-12T13:16:08.647Z".
transactionId stringreservationId stringpspId stringUnique UUID identifier of the payment method.
pspDisplayName stringLocalized name of the payment method that is showed to end users.
pspIntegrationName stringName of the payment integration that helps merchants distinguish the payment method processor used. For payment methods integrated via a payment suite (e.g. Adyen, Stripe), this will be in the format: "{Suitename} - {payment method name}" (e.g., "Adyen - Card payments"). For direct integrations (e.g., PayPal, Klarna, Swish), this will be the name of the payment method provider (e.g., "PayPal"). This name is not intended for the end user to see.
email stringreference stringamountIncVat amountIncVatAmount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
amountExVat amountExVatAmount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
currency currencyExample: SEK, EUR, USD
cart object[]
Array [- oneOf
- Regular items
- US sales tax
productType string requiredPossible values: [
physical
,digital
,discount
,shipping_fee
,deposit
,surcharge
,adjustment
,gift_card
]Type of item.
'discount' - the unitPrice should be negative.
'adjustment' - Can only be used on refunds.
'gift_card' - When gift_card is used, a positive value indicates that a gift card is being purchased, and a negative value indicates a gift card being used as part of the payment. Keep in mind that gift cards are generally exempt from VAT/Tax as it's buying a currency and not a product.reference stringPossible values:
<= 256 characters
The SKU of the item
name string requiredPossible values:
<= 256 characters
quantity integer requiredPossible values:
>= 1
quantityUnit string requiredPossible values:
<= 10 characters
unitPrice integer requiredUnit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.
taxRate integer requiredThe applicable taxrate in minor units. Eg 25% = 2500
discountPercentage integerDiscount value in percentages. 10% = 1000
productType string requiredPossible values: [
sales_tax
]Has to be "sales_tax".
name string requiredPossible values:
<= 256 characters
reference stringPossible values:
<= 256 characters
Reference
totalTaxAmount integer requiredTotal tax amount for the order in minor units (e.g. 1 USD = 100 totalTaxAmount).
]status stringPossible values: [
pending
,approved
,rejected
,cancelled
]captureStatus stringPossible values: [
not_captured
,partially_captured
,fully_captured
]refundStatus refundStatusPossible values: [
not_refunded
,partially_refunded
,captured_amount_fully_refunded
]sessionId string]captures object[]
Only available when the session is completed.
Array [createdAt dateISO 8601 format, example: "2023-04-12T13:16:08.647Z".
captureId stringparentTransactionId stringreservationId stringautoCaptured booleanWhether the transaction was automatically captured by the Briqpay system or not.
pspId stringUnique UUID identifier of the payment method.
pspDisplayName stringLocalized name of the payment method that is showed to end users.
pspIntegrationName stringName of the payment integration that helps merchants distinguish the payment method processor used. For payment methods integrated via a payment suite (e.g. Adyen, Stripe), this will be in the format: "{Suitename} - {payment method name}" (e.g., "Adyen - Card payments"). For direct integrations (e.g., PayPal, Klarna, Swish), this will be the name of the payment method provider (e.g., "PayPal"). This name is not intended for the end user to see.
email stringreference stringamountIncVat amountIncVatAmount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
amountExVat amountExVatAmount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
currency currencyExample: SEK, EUR, USD
cart object[]
Array [- oneOf
- Regular items
- US sales tax
productType string requiredPossible values: [
physical
,digital
,discount
,shipping_fee
,deposit
,surcharge
,adjustment
,gift_card
]Type of item.
'discount' - the unitPrice should be negative.
'adjustment' - Can only be used on refunds.
'gift_card' - When gift_card is used, a positive value indicates that a gift card is being purchased, and a negative value indicates a gift card being used as part of the payment. Keep in mind that gift cards are generally exempt from VAT/Tax as it's buying a currency and not a product.reference stringPossible values:
<= 256 characters
The SKU of the item
name string requiredPossible values:
<= 256 characters
quantity integer requiredPossible values:
>= 1
quantityUnit string requiredPossible values:
<= 10 characters
unitPrice integer requiredUnit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.
taxRate integer requiredThe applicable taxrate in minor units. Eg 25% = 2500
discountPercentage integerDiscount value in percentages. 10% = 1000
productType string requiredPossible values: [
sales_tax
]Has to be "sales_tax".
name string requiredPossible values:
<= 256 characters
reference stringPossible values:
<= 256 characters
Reference
totalTaxAmount integer requiredTotal tax amount for the order in minor units (e.g. 1 USD = 100 totalTaxAmount).
]status stringPossible values: [
pending
,approved
,rejected
]sessionId string]refunds object[]
Only available when the session is completed.
Array [createdAt dateISO 8601 format, example: "2023-04-12T13:16:08.647Z".
refundId stringparentCaptureId stringparentTransactionId stringreservationId stringpspId stringUnique UUID identifier of the payment method.
pspDisplayName stringLocalized name of the payment method that is showed to end users.
pspIntegrationName stringName of the payment integration that helps merchants distinguish the payment method processor used. For payment methods integrated via a payment suite (e.g. Adyen, Stripe), this will be in the format: "{Suitename} - {payment method name}" (e.g., "Adyen - Card payments"). For direct integrations (e.g., PayPal, Klarna, Swish), this will be the name of the payment method provider (e.g., "PayPal"). This name is not intended for the end user to see.
email stringreference stringamountIncVat amountIncVatAmount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
amountExVat amountExVatAmount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
currency currencyExample: SEK, EUR, USD
cart object[]
Array [- oneOf
- Regular items
- US sales tax
productType string requiredPossible values: [
physical
,digital
,discount
,shipping_fee
,deposit
,surcharge
,adjustment
,gift_card
]Type of item.
'discount' - the unitPrice should be negative.
'adjustment' - Can only be used on refunds.
'gift_card' - When gift_card is used, a positive value indicates that a gift card is being purchased, and a negative value indicates a gift card being used as part of the payment. Keep in mind that gift cards are generally exempt from VAT/Tax as it's buying a currency and not a product.reference stringPossible values:
<= 256 characters
The SKU of the item
name string requiredPossible values:
<= 256 characters
quantity integer requiredPossible values:
>= 1
quantityUnit string requiredPossible values:
<= 10 characters
unitPrice integer requiredUnit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.
taxRate integer requiredThe applicable taxrate in minor units. Eg 25% = 2500
discountPercentage integerDiscount value in percentages. 10% = 1000
productType string requiredPossible values: [
sales_tax
]Has to be "sales_tax".
name string requiredPossible values:
<= 256 characters
reference stringPossible values:
<= 256 characters
Reference
totalTaxAmount integer requiredTotal tax amount for the order in minor units (e.g. 1 USD = 100 totalTaxAmount).
]status stringPossible values: [
pending
,approved
,rejected
]sessionId string]paymentTags object
Only available when the session is completed. Tags on the payment method used for the initial payment. Example: "prepaid_invoice", "manual_review".
property name*
booleanpaymentAdditionalFields object
Only available when the session is completed. Additional fields collected on the payment method used for the initial payment.
property name* object
value stringheader stringlabel stringorderNote object
Only available when the session is completed. Object containing order notes submitted by the user. The default structure of the object, unless modified by including config for the order_note module, is { "note": { "value": "Note goes here" } }
property name* object
value stringheader stringcustomForm1 object
Only available when the session is completed. Contains the form data of the custom form module.
property name* object
value stringheader stringlabel stringterms object
Only available when the session is completed. Contains data for the checkboxes of the terms module.
property name* object
value booleanheader stringstrongAuth object
provider stringoutput object
signedAt stringname stringsurname stringgivenName stringdateOfBirth stringvalidateSigneeIsCompanySignatory booleansigneeIsCompanySignatory string nullablePossible values: [
unknown
,approved
,rejected
]companyExtraData object
output object
fields object
Example: { "score": 50, "netTurnover": 2155 }
tokenization object
tokenId stringThe token related to a tokenized payment method.
{
"createdAt": "2023-04-12T13:16:08.647Z",
"sessionId": "c5674f4f-7e84-405c-a44b-c83736bb7209",
"status": "started",
"product": {
"type": "payment",
"intent": "payment_one_time",
"variantId": "a8a7acb2-4c65-4a91-a8e5-d8125bf64fd4"
},
"customerType": "business",
"country": "SE",
"locale": "sv-se",
"urls": {
"terms": "https://example.com/terms",
"redirect": "https://example.com/redirect"
},
"references": {
"reference1": "000",
"orderId": "12345",
"customerId": "54321"
},
"hooks": [
{
"eventType": "session_status",
"statuses": [
"completed"
],
"method": "POST",
"url": "https://example.com/notifications"
},
{
"eventType": "order_status",
"statuses": [
"order_pending",
"order_rejected",
"order_cancelled",
"order_approved_not_captured"
],
"method": "POST",
"url": "https://example.com/notifications"
},
{
"eventType": "capture_status",
"statuses": [
"pending",
"approved",
"rejected"
],
"method": "POST",
"url": "https://example.com/notifications"
},
{
"eventType": "refund_status",
"statuses": [
"pending",
"approved",
"rejected"
],
"method": "POST",
"url": "https://example.com/notifications"
}
],
"htmlSnippet": "<div><iframe/></div>",
"clientToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"moduleStatus": {
"company_lookup": {
"uiStatus": "locked_by_merchant"
},
"billing": {
"uiStatus": "locked_by_merchant"
},
"shipping": {
"uiStatus": "locked_by_merchant"
},
"payment": {
"uiStatus": "locked_by_merchant",
"orderStatus": "order_pending",
"refundStatus": "not_refunded"
}
},
"data": {
"company": {
"cin": "0123456789",
"vatNumber": "SE012345678901",
"name": "Example Company"
},
"vatValidation": {
"vatNo": "string",
"valid": true,
"country": "SE"
},
"consumer": {
"identificationNumber": "19700101****",
"dateOfBirth": "1970-01-01",
"name": "John Smith"
},
"billing": {
"companyName": "string",
"cin": "0123456789",
"streetAddress": "string",
"streetAddress2": "string",
"zip": "string",
"city": "string",
"region": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"country": "SE"
},
"shipping": {
"companyName": "string",
"cin": "0123456789",
"streetAddress": "string",
"streetAddress2": "string",
"zip": "string",
"city": "string",
"region": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"country": "SE"
},
"order": {
"currency": "SEK",
"amountIncVat": 3000,
"amountExVat": 2400,
"cart": [
{
"productType": "physical",
"reference": "testproduct1",
"name": "Test product",
"quantity": 2,
"quantityUnit": "pc",
"unitPrice": 1200,
"taxRate": 2500,
"discountPercentage": 0
},
{
"productType": "sales_tax",
"name": "Sales tax",
"reference": "sales_tax",
"totalTaxAmount": 1200
}
]
},
"transactions": [
{
"createdAt": "2023-04-12T13:16:08.647Z",
"transactionId": "string",
"reservationId": "string",
"pspId": "string",
"pspDisplayName": "string",
"pspIntegrationName": "string",
"email": "string",
"reference": "string",
"amountIncVat": 3000,
"amountExVat": 2400,
"currency": "SEK",
"cart": [
{
"productType": "physical",
"reference": "testproduct1",
"name": "Test product",
"quantity": 2,
"quantityUnit": "pc",
"unitPrice": 1200,
"taxRate": 2500,
"discountPercentage": 0
},
{
"productType": "sales_tax",
"name": "Sales tax",
"reference": "sales_tax",
"totalTaxAmount": 1200
}
],
"status": "pending",
"captureStatus": "not_captured",
"refundStatus": "not_refunded",
"sessionId": "string"
}
],
"captures": [
{
"createdAt": "2023-04-12T13:16:08.647Z",
"captureId": "string",
"parentTransactionId": "string",
"reservationId": "string",
"autoCaptured": true,
"pspId": "string",
"pspDisplayName": "string",
"pspIntegrationName": "string",
"email": "string",
"reference": "string",
"amountIncVat": 3000,
"amountExVat": 2400,
"currency": "SEK",
"cart": [
{
"productType": "physical",
"reference": "testproduct1",
"name": "Test product",
"quantity": 2,
"quantityUnit": "pc",
"unitPrice": 1200,
"taxRate": 2500,
"discountPercentage": 0
},
{
"productType": "sales_tax",
"name": "Sales tax",
"reference": "sales_tax",
"totalTaxAmount": 1200
}
],
"status": "pending",
"sessionId": "string"
}
],
"refunds": [
{
"createdAt": "2023-04-12T13:16:08.647Z",
"refundId": "string",
"parentCaptureId": "string",
"parentTransactionId": "string",
"reservationId": "string",
"pspId": "string",
"pspDisplayName": "string",
"pspIntegrationName": "string",
"email": "string",
"reference": "string",
"amountIncVat": 3000,
"amountExVat": 2400,
"currency": "SEK",
"cart": [
{
"productType": "physical",
"reference": "testproduct1",
"name": "Test product",
"quantity": 2,
"quantityUnit": "pc",
"unitPrice": 1200,
"taxRate": 2500,
"discountPercentage": 0
},
{
"productType": "sales_tax",
"name": "Sales tax",
"reference": "sales_tax",
"totalTaxAmount": 1200
}
],
"status": "pending",
"sessionId": "string"
}
],
"paymentTags": {},
"paymentAdditionalFields": {},
"orderNote": {},
"customForm1": {},
"terms": {},
"strongAuth": {
"provider": "bankid",
"output": {
"signedAt": "2023-11-07T13:12:48.958Z",
"name": "John Smith",
"surname": "John",
"givenName": "Smith",
"dateOfBirth": "1948-12-16",
"validateSigneeIsCompanySignatory": true,
"signeeIsCompanySignatory": "unknown"
}
},
"companyExtraData": {
"output": {
"fields": {}
}
},
"tokenization": {
"tokenId": "string"
}
}
}
- application/json
- Schema
- Example (from schema)
Schema
error object
code stringPossible values: [
INVALID_CREDENTIALS
,INVALID_DATA
,UNKNOWN
]message string
{
"error": {
"code": "INVALID_CREDENTIALS",
"message": "string"
}
}
- application/json
- Schema
- Example (from schema)
Schema
error object
code stringPossible values: [
INVALID_CREDENTIALS
,INVALID_API_KEY
,AUTH_SECRET_EXPIRED
]message string
{
"error": {
"code": "INVALID_CREDENTIALS",
"message": "string"
}
}