Skip to main content
Version: 3.0.0 (current)

Charge a token

POST /v3/session 

Charge a tokenized payment method. This is the same endpoint as Create session but the requirements are different with the "payment_charge_token" intent.
Use the "Session Mangement" and "Order Management" APIs to handle the returned session.

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)>"

Request Body
  • product object required
  • type string required

    Possible values: [payment]

    Type of Briqpay product.

  • intent string required

    Possible values: [payment_charge_token]

  • 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
  • eventType string

    Possible values: [session_status]

  • statuses string[]

    Possible values: [completed]

  • method string

    Possible values: [GET, POST]

  • url string
  • ]
  • data object required
  • 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 required

    Example: SEK, EUR, USD

  • amountIncVat amountIncVat required

    Amount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.

  • amountExVat amountExVat required

    Amount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.

  • cart object[] required
  • Array [
  • oneOf
  • productType string required

    Possible values: [physical, digital, discount, shipping_fee, deposit, surcharge, adjustment]

    Type of item. When using 'discount', the unitPrice should be negative. 'adjustment' can only be used on refunds.

  • reference string

    Possible values: <= 256 characters

    The SKU of the item

  • name string required

    Possible values: <= 256 characters

  • quantity integer required

    Possible values: >= 1

  • quantityUnit string required

    Possible values: <= 10 characters

  • unitPrice integer required

    Unit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.

  • taxRate integer required

    The applicable taxrate in minor units. Eg 25% = 2500

  • discountPercentage integer

    Discount value in percentages. 10% = 1000

  • ]
  • tokenization object required
  • tokenId string required

    The token to charge for sessions with product.intent: "payment_charge_token".

  • Responses

    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 required

      Possible values: [payment, signup]

      Type of Briqpay product.

    • intent string required

      Possible values: [payment_one_time, payment_tokenize, payment_tokenize_and_charge, payment_charge_token, signup]

    • id string deprecated
    • variantId string

      Provide 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 string

      URL to your terms & conditions, will be shown in the iframe. Required when product.type is 'payment'.

    • redirect string required

      URL 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* string

      Possible 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
    • eventType string

      Possible values: [session_status]

    • statuses string[]

      Possible values: [completed]

    • method string

      Possible 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 uiStatus

    Possible values: [locked_by_merchant, not_yet_reached, hidden, visible, visible_required, visible_optional, completed]

    Status of the module in the UI.

  • billing object
  • uiStatus uiStatus

    Possible values: [locked_by_merchant, not_yet_reached, hidden, visible, visible_required, visible_optional, completed]

    Status of the module in the UI.

  • shipping object
  • uiStatus uiStatus

    Possible values: [locked_by_merchant, not_yet_reached, hidden, visible, visible_required, visible_optional, completed]

    Status of the module in the UI.

  • payment object
  • uiStatus uiStatus

    Possible values: [locked_by_merchant, not_yet_reached, hidden, visible, visible_required, visible_optional, completed]

    Status of the module in the UI.

  • orderStatus orderStatus

    Possible values: [order_pending, order_rejected, order_cancelled, order_approved_not_captured, captured_partial, captured_full]

    Order status in the checkout / payment module.

  • refundStatus refundStatus

    Possible values: [not_refunded, partially_refunded, captured_amount_fully_refunded]

  • data object
  • company object

    Only available when the session is completed.

  • cin cin

    Company 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: EIN

  • vatNumber string nullable

    Company EU VAT number. Only available with some lookup providers & countries.

  • name string

    Company name.

  • vatValidation object
  • vatNo string
  • valid boolean
  • country country

    Country code in ISO 3166-1 alpha-2 format.

  • consumer object
  • identificationNumber string

    National identification number, social security number or similar.

  • dateOfBirth string

    Date of birth (YYYY-MM-DD).

  • name string

    Name of the person.

  • billing object

    Only available when the session is completed.

  • companyName string

    B2B only.

  • cin cin

    Company 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: EIN

  • streetAddress string
  • streetAddress2 string
  • zip string
  • city string
  • region string

    State / region. Example: "CA" for California in the US.

  • firstName string
  • lastName string
  • email string
  • phoneNumber string
  • country country

    Country code in ISO 3166-1 alpha-2 format.

  • shipping object

    Only available when the session is completed.

  • companyName string

    B2B only.

  • cin cin

    Company 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: EIN

  • streetAddress string
  • streetAddress2 string
  • zip string
  • city string
  • region string

    State / region. Example: "CA" for California in the US.

  • firstName string
  • lastName string
  • email string
  • phoneNumber string
  • country country

    Country code in ISO 3166-1 alpha-2 format.

  • order object
  • currency currency

    Example: SEK, EUR, USD

  • amountIncVat amountIncVat

    Amount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.

  • amountExVat amountExVat

    Amount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.

  • cart object[]
  • Array [
  • oneOf
  • productType string required

    Possible values: [physical, digital, discount, shipping_fee, deposit, surcharge, adjustment]

    Type of item. When using 'discount', the unitPrice should be negative. 'adjustment' can only be used on refunds.

  • reference string

    Possible values: <= 256 characters

    The SKU of the item

  • name string required

    Possible values: <= 256 characters

  • quantity integer required

    Possible values: >= 1

  • quantityUnit string required

    Possible values: <= 10 characters

  • unitPrice integer required

    Unit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.

  • taxRate integer required

    The applicable taxrate in minor units. Eg 25% = 2500

  • discountPercentage integer

    Discount value in percentages. 10% = 1000

  • ]
  • transactions object[]

    Only available when the session is completed.

  • Array [
  • createdAt date

    ISO 8601 format, example: "2023-04-12T13:16:08.647Z".

  • transactionId string
  • reservationId string
  • pspId string

    Unique UUID identifier of the payment method.

  • pspDisplayName string

    Localized name of the payment method that is showed to end users.

  • pspIntegrationName string

    Name 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 string
  • reference string
  • amountIncVat amountIncVat

    Amount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.

  • amountExVat amountExVat

    Amount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.

  • currency currency

    Example: SEK, EUR, USD

  • cart object[]
  • Array [
  • oneOf
  • productType string required

    Possible values: [physical, digital, discount, shipping_fee, deposit, surcharge, adjustment]

    Type of item. When using 'discount', the unitPrice should be negative. 'adjustment' can only be used on refunds.

  • reference string

    Possible values: <= 256 characters

    The SKU of the item

  • name string required

    Possible values: <= 256 characters

  • quantity integer required

    Possible values: >= 1

  • quantityUnit string required

    Possible values: <= 10 characters

  • unitPrice integer required

    Unit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.

  • taxRate integer required

    The applicable taxrate in minor units. Eg 25% = 2500

  • discountPercentage integer

    Discount value in percentages. 10% = 1000

  • ]
  • status string

    Possible values: [pending, approved, rejected, cancelled]

  • captureStatus string

    Possible values: [not_captured, partially_captured, fully_captured]

  • refundStatus refundStatus

    Possible values: [not_refunded, partially_refunded, captured_amount_fully_refunded]

  • sessionId string
  • ]
  • captures object[]

    Only available when the session is completed.

  • Array [
  • createdAt date

    ISO 8601 format, example: "2023-04-12T13:16:08.647Z".

  • captureId string
  • parentTransactionId string
  • reservationId string
  • autoCaptured boolean

    Whether the transaction was automatically captured by the Briqpay system or not.

  • pspId string

    Unique UUID identifier of the payment method.

  • pspDisplayName string

    Localized name of the payment method that is showed to end users.

  • pspIntegrationName string

    Name 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 string
  • reference string
  • amountIncVat amountIncVat

    Amount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.

  • amountExVat amountExVat

    Amount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.

  • currency currency

    Example: SEK, EUR, USD

  • cart object[]
  • Array [
  • oneOf
  • productType string required

    Possible values: [physical, digital, discount, shipping_fee, deposit, surcharge, adjustment]

    Type of item. When using 'discount', the unitPrice should be negative. 'adjustment' can only be used on refunds.

  • reference string

    Possible values: <= 256 characters

    The SKU of the item

  • name string required

    Possible values: <= 256 characters

  • quantity integer required

    Possible values: >= 1

  • quantityUnit string required

    Possible values: <= 10 characters

  • unitPrice integer required

    Unit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.

  • taxRate integer required

    The applicable taxrate in minor units. Eg 25% = 2500

  • discountPercentage integer

    Discount value in percentages. 10% = 1000

  • ]
  • status string

    Possible values: [pending, approved, rejected]

  • sessionId string
  • ]
  • refunds object[]

    Only available when the session is completed.

  • Array [
  • createdAt date

    ISO 8601 format, example: "2023-04-12T13:16:08.647Z".

  • refundId string
  • parentCaptureId string
  • parentTransactionId string
  • reservationId string
  • pspId string

    Unique UUID identifier of the payment method.

  • pspDisplayName string

    Localized name of the payment method that is showed to end users.

  • pspIntegrationName string

    Name 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 string
  • reference string
  • amountIncVat amountIncVat

    Amount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.

  • amountExVat amountExVat

    Amount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.

  • currency currency

    Example: SEK, EUR, USD

  • cart object[]
  • Array [
  • oneOf
  • productType string required

    Possible values: [physical, digital, discount, shipping_fee, deposit, surcharge, adjustment]

    Type of item. When using 'discount', the unitPrice should be negative. 'adjustment' can only be used on refunds.

  • reference string

    Possible values: <= 256 characters

    The SKU of the item

  • name string required

    Possible values: <= 256 characters

  • quantity integer required

    Possible values: >= 1

  • quantityUnit string required

    Possible values: <= 10 characters

  • unitPrice integer required

    Unit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.

  • taxRate integer required

    The applicable taxrate in minor units. Eg 25% = 2500

  • discountPercentage integer

    Discount value in percentages. 10% = 1000

  • ]
  • status string

    Possible 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* boolean
  • paymentAdditionalFields object

    Only available when the session is completed. Additional fields collected on the payment method used for the initial payment.

  • property name* object
  • value string
  • header string
  • label string
  • orderNote 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 string
  • header string
  • customForm1 object

    Only available when the session is completed. Contains the form data of the custom form module.

  • property name* object
  • value string
  • header string
  • label string
  • terms object

    Only available when the session is completed. Contains data for the checkboxes of the terms module.

  • property name* object
  • value boolean
  • header string
  • strongAuth object
  • provider string
  • output object
  • signedAt string
  • name string
  • surname string
  • givenName string
  • dateOfBirth string
  • validateSigneeIsCompanySignatory boolean
  • signeeIsCompanySignatory string nullable

    Possible values: [unknown, approved, rejected]

  • companyExtraData object
  • output object
  • fields object

    Example: { "score": 50, "netTurnover": 2155 }

  • tokenization object
  • tokenId string

    The token related to a tokenized payment method.

  • Loading...