---
title: "Create charge session"
method: POST
path: "/v1/session/charge"
tags: ["session"]
---

# Create charge session

`POST /v1/session/charge`

## Request

- Base URL: `https://checkout-api.frisbii.com`
- URL: `https://checkout-api.frisbii.com/v1/session/charge`
- Auth: HTTP basic

## Request body

- CreateChargeSession
  - `configuration` string: Optional handle for a checkout configuration defined in the admin app to be used for this session
  - `locale` string: Optional locale for session. E.g. `en_GB`, `da_DK`, `es_ES`. Defaults to configuration locale or account locale.
  - `ttl` string: Optional time-to-live duration. The session will expire after the duration from creation, meaning that payment attempts cannot be initiated after this duration. Notice though, that payments initiated within the time-to-live duration might finish after the TTL E.g. MobilePay Online flows. The duration must be given in the following notation: `PTxS` - x seconds, `PTxM` - x minutes, `PTxH` - x hours or `PxD` - x days. E.g. PT3H (three hours). The default time-to-live is three months.
  - `phone` string: Phone number to use for payment methods able to use a prefilled phone number. E.g. MobilePay, Vipps and Swish. If no explicit phone number is defined, the phone number for the customer entity will be used.
  - `invoice` string: Handle for existing invoice to charge. Either this argument must be provided or `order`.
  - `settle` boolean: Whether or not to immediately settle (capture). Default is false. If not settled immediately an authorization will be performed which can be settled later. Normally this have to be done within 7 days. Note that not all payment methods support immediate settle.
  - `order` Order: Object defining order details such as amount, currency and order text
    - `handle` string, required: Per account unique reference to charge/invoice. E.g. order id from own system. Multiple payments can be attempted for the same handle but only one authorized or settled charge can exist per handle. Max length 255 with allowable characters [a-zA-Z0-9_.-@]. It is recommended to use a maximum of 20 characters as this will allow for the use of handle as reference on bank statements without truncation. If Danish Dankort is supported a maximum of 11 characters should be used.
    - `key` string: Optional idempotency key. Only one authorization or settle can be performed for the same handle. If two create attempts are attempted and the first succeeds the second will fail because charge is already settled or authorized. An idempotency key identifies uniquely the request and multiple requests with the same key and handle will yield the same result. In case of networking errors the same request with same key can safely be retried.
    - `amount` integer: Amount in the smallest unit. Either `amount` or `order_lines` must be provided if charge/invoice does not already exists.
    - `currency` string: Optional currency in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) three letter alpha code. If not provided the account default currency will be used. The currency of an existing charge or invoice cannot be changed.
    - `customer` CreateCustomer: Create customer object
      - `email` string: Customer email. Validated against RFC 822.
      - `title` string: Customer title
      - `address` string: Customer address
      - `address2` string: Customer address2
      - `city` string: Customer city
      - `country` string: Customer country in [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). E.g. US.
      - `phone` string: Customer phone number
      - `company` string: Customer company
      - `vat` string: Customer vat number
      - `language` string: Customer language
      - `handle` string: Per account unique handle for the customer. Max length 255 with allowable characters [a-zA-Z0-9_.-@]. Must be provided if generate_handle is not defined.
      - `test` boolean: Test flag. If given it will be verified that the account state matches the intended create state.
      - `metadata` object: Custom metadata.
      - `invoice_email` string: Optional email address where invoices will be sent to in addition to the primary email address. Validated against RFC 822.
      - `dunning_email` string: Optional email address where dunning notices will be sent to in addition to the primary email address. Validated against RFC 822.
      - `first_name` string: Customer first name
      - `last_name` string: Customer last name
      - `date_of_birth` string: Customer date of birth
      - `postal_code` string: Customer postal code
      - `debtor_id` integer: Debtor identifier for this customer. If set this is unique and cannot be changed anymore.
      - `sales_rep_id` string: Sales representative identifier
      - `order_id` string: Order identifier
      - `shipping_first_name` string: Shipping address first name
      - `shipping_last_name` string: Shipping address last name
      - `shipping_company` string: Shipping address company
      - `shipping_vat` string: Shipping address vat number
      - `shipping_attention` string: Shipping address attention line
      - `shipping_address` string: Shipping address
      - `shipping_address2` string: Shipping address2
      - `shipping_city` string: Shipping city
      - `shipping_state_or_province` string: Shipping state or province
      - `shipping_postal_code` string: Shipping postal code
      - `shipping_country` string: Shipping country in [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). E.g. US.
      - `shipping_email` string: Shipping address email. Validated against RFC 822.
      - `shipping_phone` string: Shipping phone number
      - `fiscal_unity` boolean: Whether this customer is domestically related to the merchant (Organschaft / VAT group)
      - `generate_handle` boolean: Auto generate handle on the form cust-[sequence_number]
    - `metadata` object: Custom metadata.
    - `ordertext` string: Optional order text. Used in conjunction with `amount`. Ignored if `order_lines` is provided.
    - `order_lines` CreateOrderLine[]: Order lines for the charge. The order lines controls the amount. Only required if charge/invoice does not already exist. If given for existing charge the order lines and amount are adjusted. A maximum of 100 order lines is allowed.
      - `ordertext` string, required: Order line text
      - `amount` integer, required: Per quantity amount in the smallest unit for the currency
      - `vat` number, float: Optional vat for order line. Account default is used if none given.
      - `quantity` integer: Quantity. Default 1.
      - `amount_incl_vat` boolean: Whether the per quantity amount is including VAT. Defaults to true.
      - `tax_policy` string: Optional tax policy handle for this order line. Account default vat is used if none given.
      - `period_from` string: Date and time on the form `yyyy-MM-dd`, `yyyyMMdd`, `yyyy-MM-ddTHH:mm` and `yyyy-MM-ddTHH:mm:ss` denoting the start of the service period for this order line
      - `period_to` string: Date and time on the form `yyyy-MM-dd`, `yyyyMMdd`, `yyyy-MM-ddTHH:mm` and `yyyy-MM-ddTHH:mm:ss` denoting the end of the service period for this order line
      - `cost_object` string: Cost object number (Kostenträger-Nr.) used for accounting export. When omitted, a line on a subscription invoice inherits the subscription's cost object.
    - `customer_handle` string: Customer reference. If charge does not already exist either this reference must be provided, a create customer object must be provided or the source must be a payment method reference (e.g. `ca_..`) identifying customer. Notice that customer cannot be changed for existing charge/invoice so if handle is provided it must match the customer handle for existing customer.
    - `billing_address` InvoiceBillingAddress: The subscription's own billing address. Overrides the customer's billing address on every invoice this subscription generates; the customer record is left unchanged. Omit to inherit the customer's address.
      - `company` string: Company name
      - `vat` string: Company vat number
      - `attention` string: Attention
      - `address` string: Address line 1
      - `address2` string: Address line 2
      - `city` string: City
      - `country` string: Country in ISO 3166-1 alpha-2
      - `email` string: Email
      - `phone` string: Phone number
      - `first_name` string: First name
      - `last_name` string: Last name
      - `postal_code` string: Postal code
      - `state_or_province` string: State or province. Should be in country subdivision code defined in ISO 3166-2.
    - `shipping_address` InvoiceShippingAddress: The subscription's own shipping address. Overrides the customer's shipping address on every invoice this subscription generates; the customer record is left unchanged. Omit to inherit the customer's address. A billing address is never used as a shipping address.
      - `company` string: Company name
      - `vat` string: Company vat number
      - `attention` string: Attention
      - `address` string: Address line 1
      - `address2` string: Address line 2
      - `city` string: City
      - `country` string: Country in ISO 3166-1 alpha-2
      - `email` string: Email
      - `phone` string: Phone number
      - `first_name` string: First name
      - `last_name` string: Last name
      - `postal_code` string: Postal code
      - `state_or_province` string: State or province. Should be in country subdivision code defined in ISO 3166-2.
  - `recurring` boolean: If set a recurring payment method is stored for the customer and a reference returned. This parameter if set to true will limit payment methods to those that are reusable. Cannot be used in conjunction with `recurring_optional`.
  - `accept_url` string: If checkout is opened in separate window the customer will be directed to this page after success
  - `cancel_url` string: If checkout is opened in separate window the customer will be directed to this page if the customer cancels
  - `payment_methods` string[]: Optional list of payment methods to use for the checkout session. Format: `<payment_methods> = list of <payment_method>` `<payment_method> = [sca-|nosca-]<payment_name>` `<payment_name> = The id of payment method, e.g. dankort` See https://docs.frisbii.com/docs/checkout-payment-methods for full documentation
  - `card_on_file` string: Reference to existing card payment method (`ca_xxx`) to use instead of having cardholder enter card data. CVV may still be required from cardholder.
  - `card_on_file_require_cvv` boolean: Require cvv from cardholder for card-on-file
  - `card_on_file_require_exp_date` boolean: Require expiration date for card-on-file
  - `button_text` string: Optional alternative button text. Maximum length 32 characters.
  - `recurring_average_amount` integer: For cost based acquirer agreement selection this argument can be used to define the amount used in calculating the least expensive agreement for future recurring payments. Can only be used for sessions saving a payment method for later use. Must be given in minor unit for currency.
  - `sca_data` ScaData: Customer data used in strong customer authentication to reduce the need for a lengthy authentication process and ensure less fraud. The data is not stored at Reepay and only used in the process of strong customer authentication. The data is used by card issuer to determine if a frictionless authentication flow can be used.
    - `name` string: Cardholder Name. If not provided information will be taken from customer or invoice addresses.
    - `email` string: Cardholder Email. If not provided information will be taken from customer or invoice addresses. Must be RFC5322 compliant.
    - `home_phone` ScaPhoneNumber: ITU-E.164 phone number. See https://en.wikipedia.org/wiki/E.164
      - `cc` string, required: Country code (1-3 digits). See https://en.wikipedia.org/wiki/List_of_country_calling_codes.
      - `subscriber` string, required: Subscriber number (1-12 digits)
    - `mobile_phone` ScaPhoneNumber: ITU-E.164 phone number. See https://en.wikipedia.org/wiki/E.164
      - `cc` string, required: Country code (1-3 digits). See https://en.wikipedia.org/wiki/List_of_country_calling_codes.
      - `subscriber` string, required: Subscriber number (1-12 digits)
    - `work_phone` ScaPhoneNumber: ITU-E.164 phone number. See https://en.wikipedia.org/wiki/E.164
      - `cc` string, required: Country code (1-3 digits). See https://en.wikipedia.org/wiki/List_of_country_calling_codes.
      - `subscriber` string, required: Subscriber number (1-12 digits)
    - `billing_address` ScaBillingAddress: Cardholder Billing Address. If not provided it will be taken from invoice billing address or customer.
      - `address1` string: Address line 1
      - `address2` string: Address line 2
      - `address3` string: Address line 3
      - `city` string: City
      - `country` string: Country in ISO 3166-1 alpha-2
      - `postal_code` string: Postal code
      - `state_or_province` string: State or province in country subdivision code defined in ISO 3166-2
    - `shipping_address` ScaShippingAddress: Cardholder Shipping Address. If not provided it will be taken from invoice shipping address or customer.
      - `address1` string: Address line 1
      - `address2` string: Address line 2
      - `address3` string: Address line 3
      - `city` string: City
      - `country` string: Country in ISO 3166-1 alpha-2
      - `postal_code` string: Postal code
      - `state_or_province` string: State or province in country subdivision code defined in ISO 3166-2
    - `address_match` boolean: Indicate if Shipping Address and Billing Address are the same
    - `account_id` string: Cardholder Account Identifier. Customer id from own system. If not provided customer handle will be used.
    - `challenge_indicator` 'preference' | 'mandate': Optional argument to control whether the cardholder should be posed with a challenge instead of a potential frictionless authentication flow. This could e.g. be used the first time a new customer makes a purchase to make sure they are strongly authenticated. Two values can be used: `preference` - cardholder should be given a challenge if issuer supports challenges, `mandate` - cardholder must be given a challenge and the authentication should be declined if the issuer does not support challenges.
    - `risk_indicator` ScaRiskIndicator: Optional argument to help the issuer in determining whether to use a frictionless authentication flow. The object represents the assessed level of fraud risk.
      - `delivery_email` string: For Electronic delivery, the email address to which the merchandise was delivered. Must be RFC5322 compliant.
      - `delivery_timeframe` 'electronic' | 'same_day_shipping' | 'overnight_shipping' | 'two_day_or_more_shipping': Indicates the merchandise delivery timeframe: `electronic` - Electronic Delivery, `same_day_shipping` - Same day shipping, `overnight_shipping` - Overnight shipping, `two_day_or_more_shipping` - Two-day or more shipping
      - `gift_card_amount` integer: For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s) in major units (for example, USD 123.45 is 123).
      - `gift_card_count` integer: For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased.
      - `gift_card_currency` string: For prepaid or gift card purchase, currency code of the gift card in [ISO 4217](http://da.wikipedia.org/wiki/ISO_4217) three letter alpha code.
      - `pre_order_date` string: For a pre-ordered purchase, the expected local date that the merchandise will be available. Local date on the form `yyyy-MM-dd`
      - `pre_order_purchase_indicator` 'merchandise_available' | 'future_availability': Indicates whether cardholder is placing an order for merchandise with a future availability or release date. Either: `merchandise_available` or `future_availability`
      - `reorder_items_indicator` 'first_time_ordered' | 'reordered': Indicates whether the cardholder is reordering previously purchased merchandise. Either: `first_time_ordered` or `reordered`
      - `shipping_indicator` 'billing_address' | 'verified' | 'non_billing_address' | 'ship_to_store' | 'digital_goods' | 'travel_and_event_tickets' | 'other': Indicates shipping method chosen for the transaction. The Shipping Indicator code that most accurately describes the cardholder’s specific transaction must be used, not the general business. If one or more items are included in the sale, use the Shipping Indicator code for the physical goods, or if all digital goods, use the Shipping Indicator code that describes the most expensive item. Possible values: `billing_address` - Ship to cardholder’s billing address, `verified` - Ship to another verified address on file, `non_billing_address` - Ship to address that is different than the cardholder’s billing address, `ship_to_store` - Pick-up at local store (Store address shall be populated in shipping address fields), `digital_goods` - Digital goods (includes online services, electronic gift cards and redemption codes), `travel_and_event_tickets` - Travel and Event tickets, not shipped, `other` - Other (for example, Gaming, digital services not shipped, emedia subscriptions, etc.)
    - `account_info` ScaAccountInfo: Optional additional information about the Cardholder’s account.
      - `created` string: Date that the cardholder created the account. Format: `yyyy-MM-dd`
      - `changed` string: Date that the cardholder’s account was last changed, including Billing or Shipping address, new payment method, or new user(s) added. Format: `yyyy-MM-dd`
      - `age_indicator` 'guest_account' | 'this_transaction' | 'less_than_30_days' | 'from_30_to_60_days' | 'more_than_60_days': Length of time that the cardholder has had the account. One off: `guest_account` - No account (guest check-out), `this_transaction` - Created during this transaction, `less_than_30_days` - Less than 30 days, `from_30_to_60_days` - 30−60 days, `more_than_60_days` - More than 60 days
      - `change_indicator` 'this_transaction' | 'less_than_30_days' | 'from_30_to_60_days' | 'more_than_60_days': Length of time since the cardholder’s account information was last changed, including Billing or Shipping address, new payment account, or new user(s) added. One off: `this_transaction` - Changed during this transaction, `less_than_30_days` - Less than 30 days, `from_30_to_60_days` - 30−60 days, `more_than_60_days` - More than 60 days
      - `password_change` string: Date that cardholder’s account had a password change or account reset. Format: `yyyy-MM-dd`
      - `password_change_indicator` 'no_change' | 'this_transaction' | 'less_than_30_days' | 'from_30_to_60_days' | 'more_than_60_days': Indicates the length of time since the cardholder’s account had a password change or account reset. One off: `no_change` - No change, `this_transaction` - Changed during this transaction, `less_than_30_days` - Less than 30 days, `from_30_to_60_days` - 30−60 days, `more_than_60_days` - More than 60 days
      - `purchase_count` integer: Number of purchases with this cardholder account during the previous six months.
      - `add_card_attempts` integer: Number of Add Card attempts in the last 24 hours.
      - `transactions_day` integer: Number of transactions (successful and abandoned) for this cardholder account (across payment methods) in the previous 24 hours
      - `transactions_year` integer: Number of transactions (successful and abandoned) for this cardholder account (across payment methods) in the previous year
      - `card_age` string: For customer initiated card-on-file session, the date that the used card was added. Provided by Reepay but can be overridden. Format: `yyyy-MM-dd`.
      - `card_age_indicator` 'this_transaction' | 'less_than_30_days' | 'from_30_to_60_days' | 'more_than_60_days': For customer initiated card-on-file session, indicates the length of time that the card was enrolled in the cardholder’s account. Provided by Reepay but can be overridden. One off: `this_transaction` - Changed during this transaction, `less_than_30_days` - Less than 30 days, `from_30_to_60_days` - 30−60 days, `more_than_60_days` - More than 60 days
      - `shipping_address_usage` string: Date when the shipping address used for this transaction was first used. Format: `yyyy-MM-dd`.
      - `shipping_address_usage_indicator` 'this_transaction' | 'less_than_30_days' | 'from_30_to_60_days' | 'more_than_60_days': Indicates when the shipping address used for this transaction was first used. One off: `this_transaction` - During this transaction, `less_than_30_days` - Less than 30 days, `from_30_to_60_days` - 30−60 days, `more_than_60_days` - More than 60 days
      - `shipping_name_indicator` boolean: Indicates if the Cardholder Name on the account is identical to the shipping Name used for this transaction.
      - `suspicious_activity` boolean: Indicates if there has been experienced suspicious activity (including previous fraud) on the cardholder account.
  - `session_data` SessionData: Object to define payment type specific parameters
    - `ssn` string: Social security number, e.g. for Klarna Sweden
    - `account_holder_name` string: Account Holder name, e.g. for IDEAL
    - `mps_amount` integer: Optional value to define MobilePay Subscriptions fixed recurring amount in minor unit. For subscription sessions this will default to plan amount.
    - `mps_plan` string: Optional MobilePay Subscriptions plan text shown when signing up. Maximum 64 characters. For subscription sessions this will default to plan name. For other session types default will be shop name.
    - `mps_description` string: Optional MobilePay Subscriptions additional description displayed to the customer. Maximum 60 characters. For subscription sessions this will default to plan description.
    - `mps_frequency` 'flexible' | 'yearly' | 'biyearly' | 'quarterly' | 'monthly' | 'biweekly' | 'weekly' | 'daily': Optional MobilePay Subscriptions frequency. Allowed values `flexible`, `yearly`, `biyearly`, `quarterly`, `monthly`, `biweekly`, `weekly` or `daily`. For subscription sessions this will default to plan frequency.
    - `mps_external_id` string: Optional MobilePay Subscriptions id for subscription. Maximum 64 characters. For subscription sessions this will default to subscription handle.
    - `mps_payment_description` string: Optional MobilePay Subscriptions description for payment created in conjunction with subscription signup. Maximum 60 characters. Defaults to shop name.
    - `mps_cancel_redirect_url` string: Optional MobilePay Subscriptions merchant cancel redirect URL. If present user will not be able to cancel within app, but instead will be redirected to this url.
    - `mpo_flow` 'single' | 'dual': Optional MobilePay Online parameter to control if MobilePay should have a forced dual or single flow. IMPORTANT: MobilePay is deprecating this flag and will ignore it in future versions. FI: from January 2024, DK: from March 2024
    - `alternative_return_url` string: Alternative return url for MobilePay Online and Vipps wallet payments. Using this parameter the customer will be redirected from wallet payment directly to this URL, bypassing Frisbii Checkout. Notice that the result of the payment is not part of the return url from the wallet providers, so the result of the charge must be fetched from Frisbii API operation get charge. Using this option can give a smoother experience for app integrations. Notice that the return url can be an app scheme url.
    - `applepay_recurring_payment_start_date` string: Optional Apple Pay recurring payment start date in format `yyyy-MM-dd` to be displayed to the user. Will also be used as a trial end date
    - `applepay_recurring_payment_end_date` string: Optional Apple Pay recurring payment end date in format `yyyy-MM-dd` to be displayed to the user.
    - `applepay_recurring_payment_interval_unit` 'year' | 'month' | 'day': Optional ApplePay recurring payment interval unit to be displayed to the user. One of the following values: `year`, `month`, or `day`. If not set, the value defaults to `month` in ApplePay. Both interval count + unit override must be present and valid to be used.
    - `applepay_recurring_payment_interval_count` integer: Optional Apple Pay recurring payment interval count to be displayed to the user. Both interval count + unit override must be present and valid to be used.
    - `applepay_recurring_trial_label` string: Optional Apple Pay trial label to be displayed to the customer. Maximum 64 characters.
    - `applepay_recurring_trial_amount` integer: Optional Apple Pay recurring payment trial amount to be displayed to the user.
    - `applepay_recurring_label` string: Optional Apple Pay label to be displayed to the customer. Maximum 64 characters.
    - `applepay_recurring_amount` integer: Optional value to define Apple Pay fixed recurring amount.
    - `applepay_supported_countries` string[]: Optional list of two-letter country codes for limiting payment to cards from specific countries or regions. EU also supported as code to express all EU countries.
    - `klarna_merchant_data` object: Extra merchant data passed as-is to Klarna when creating the payment session. As a merchant you are responsible for the correctness of this data.
    - `klarna_order_lines` KlarnaOrderLineDetails[]: Extra optional fields to be passed to Klarna with the order lines. These will need to match the order text of the provided order lines to match properly.
      - `type` 'physical' | 'discount' | 'shipping_fee' | 'sales_tax' | 'digital' | 'gift_card' | 'store_credit' | 'surcharge': Specific type of the order line.
      - `ordertext` string, required: The order text of the orderline this object should be associated with. In case there's multiple matches, the details will be ignored.
      - `product_url` string: URL to the product in the merchant’s webshop that can be later used in communications between Klarna and the customer.
      - `image_url` string: URL to an image that can be later embedded in communications between Klarna and the customer.
    - `sepa_debtor_name` string: Optional SEPA debtor name.
    - `sepa_debtor_address` string: Optional SEPA debtor address.
    - `sepa_debtor_postal_code` string: Optional SEPA debtor postal code.
    - `sepa_debtor_city` string: Optional SEPA debtor city.
    - `sepa_debtor_country` string: Optional SEPA debtor country in [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
    - `sepa_debtor_iban` string: Optional SEPA debtor IBAN.
    - `sepa_debtor_bic` string: Optional SEPA debtor BIC.
    - `sepa_mandate_amount` integer: Optional value to define SEPA fixed recurring amount.
    - `klarna_recurring_amount` integer: Optional value to define Klarna fixed recurring amount, used for the recurring schedule shown to the customer. For subscription sessions this will default to plan amount.
    - `klarna_recurring_product_name` string: Optional Klarna recurring product name displayed to the customer. Maximum 45 characters. For subscription sessions this will default to plan name.
    - `klarna_recurring_interval_count` integer: Optional Klarna recurring payment interval count to be displayed to the customer. For subscription sessions this will default to plan interval length. Both interval count + unit override must be present and valid to be used.
    - `klarna_recurring_interval_unit` string: Optional Klarna recurring payment interval unit to be displayed to the customer. One of the following values: `year`, `month`, `week`, or `day`. For subscription sessions this will default to plan schedule type if not provided. Both interval count + unit override must be present and valid to be used.
    - `vipps_recurring_amount` integer: Optional value to define Vipps Recurring fixed recurring amount in minor unit. For subscription sessions this will default to plan amount.
    - `vipps_recurring_product_name` string: Optional Vipps Recurring product name displayed to the customer. Maximum 45 characters. For subscription sessions this will default to plan name.
    - `vipps_recurring_pricing_type` string: Optional Vipps Recurring subscription pricing type. One of the following values: `legacy`, `variable`, `flexible`. Note that campaigns require `legacy` pricing, and only `flexible` supports a missing (or zero) amount - in these cases, the mentioned type will be used instead, regardless of the provided value. If not set, the most appropriate option will be chose according to the above validation rules, defaulting to `flexible`.
    - `vipps_recurring_product_description` string: Optional Vipps Recurring additional product description displayed to the customer. Maximum 100 characters. For subscription sessions this will default to plan description.
    - `vipps_recurring_interval_count` integer: Optional Vipps Recurring payment interval count to be displayed to the customer. Vipps allow max 31 for this value. For subscription sessions this will default to plan interval length if not provided. Both interval count + unit override must be present and valid to be used.
    - `vipps_recurring_interval_unit` string: Optional Vipps Recurring payment interval unit to be displayed to the customer. One of the following values: `year`, `month`, `week`, or `day`. For subscription sessions this will default to plan schedule type if not provided. Both interval count + unit override must be present and valid to be used.
    - `vipps_recurring_initial_payment_description` string: Optional Vipps Recurring description for initial payment created in conjunction with subscription signup.
    - `vipps_recurring_merchant_cancel_url` string: Optional Vipps Recurring agreement cancel URL. If present this URL will override the URL set on the agreement.
    - `vipps_recurring_campaign_amount` integer: Optional amount for Vipps Recurring campaign in minor unit. For subscription sessions this will default to discount amount.
    - `vipps_recurring_campaign_interval_count` integer: Conditional Vipps Recurring campaign interval count to be displayed to the customer.
    - `vipps_recurring_campaign_interval_unit` string: Conditional Vipps Recurring campaign interval unit to be displayed to the customer. One of the following values: `year`, `month`, `week` or `day`.
    - `vipps_recurring_campaign_end_date` string, date-time: Conditional Vipps Recurring campaign end date in UTC to be displayed to the user, cannot be in the past.
    - `vipps_recurring_campaign_event_text` string: Conditional Vipps Recurring campaign event text displayed to the customer.
    - `anyday_webshop_url` string: Optional parameter for Anyday. Recommended to set if webshop has many domains.
    - `mpo_minimum_user_age` integer: Require MobilePay user age to be this age or above
    - `vipps_epayment_minimum_user_age` integer: Require Vipps ePayment user age to be this age or above
    - `vipps_epayment_blocked_sources` string[]: Require Vipps ePayment to use blocked sources, does not work for Norwegian users
  - `payment_method_reference` string: Optional reference given to the created payment method in case a recurring payment method is created by the session. Session id will be used by default if not defined. Max length 64 with allowable characters [a-zA-Z0-9_.-@].
  - `account_funding` boolean: Indicates that Account Funding Transaction (AFT) is requested. It only can be used for instant settle (i.e. 'settle' = true)
  - `account_funding_information` AccountFundingInformation: Optional sender information required for Account Funding Transaction (AFT). If not provided when requesting account funding transaction with `account_funding=true`, information will be gathered from invoice billing address and customer.
    - `sender_account_number` string: The sender’s account number, i.e. an identification of the account being funded by the debit. It can be an IBAN, a proprietary wallet number, a prepaid PAN, etc.
    - `sender_reference` string: Sender's reference number. You must be able to uniquely identify the sender using this number. Required if the merchant account’s Business Application Identifier (BAI) is Funds Disbursement (FD).
    - `sender_first_name` string: Sender’s first name. Required only if 'sender_address' is provided.
    - `sender_last_name` string: Sender’s last name. Required only if 'sender_address' is provided.
    - `sender_address` string: Sender’s address (street name, house number, etc.)
    - `sender_city` string: Sender’s city
    - `sender_postal_code` string: Sender’s postal code
    - `sender_state` string: Sender’s state. Required for countries US and CA
    - `sender_country` string: Sender’s country in [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
    - `sender_date_of_birth` string: Sender’s date of birth in format yyyy-MM-dd.
  - `agreement_filter` string[]: Optional list of agreement ids to filter which agreements will be used for card payments.
  - `offline_agreement_filter` string[]: Optional list of offline agreement handles to filter which options are shown to the consumer.
  - `vipps_epayment_agreement_filter` string[]: Optional list of vipps epayment agreement ids to filter which options are shown to the consumer.
  - `allowed_ip` string: Optional IP address to restrict the use of the session to
  - `force_mobile` boolean: Optionally force use of mobile app URLs for payment methods supporting this.
  - `require_cardholder_name` boolean: Require name on card for credit card payments. The argument will be ignored for card-on-file sessions.
  - `wallet_cardholder_name` string: Optional cardholder name to use for Apple Pay and Google Pay payments.
  - `text_on_statement` string: Optional argument to define the text on bank statement. Notice the following about this argument: 1. It only works for some acquirers. 2. Acquirers may have rigid rules on the content of the text on statement. Not complying to these rules will result in declined payments. 3) It is already possible to define custom text on statement using templating in the Frisbii Administration. Contact support for help. We highly recommend to only supply this argument if absolutely necessary, and the templated default text on statement is not sufficient. Maximum length is 128, but most acquirers require a maximum length of 22 characters. Truncating will be applied if too long for specific acquirer. Characters must match regex `[\x20-\x7F]`
  - `acquirer_reference` string: Optional reference for the transaction at the acquirer. Notice the following about this argument: 1. It only works for some acquirers. 2. Acquirers may have rigid rules on the content of the acquirer reference. Not complying to these rules can result in declined payments. 3. It is already possible to define custom acquirer reference using templating in the Frisbii Administration. Contact support for help. We highly recommend to only supply this argument if absolutely necessary, and the templated default acquirer reference is not sufficient. Maximum length is 128, but most acquirers require a maximum length of 22 characters. Truncating will be applied if too long for specific acquirer. Characters must match regex `[\x20-\x7F]`
  - `recurring_optional` boolean: Option to show a checkbox for reusable payment methods to allow the customer to select to save the payment method or not. If set to true the checkbox will be checked by default and vice versa. If the customer chooses to save the payment method, the `payment_method` parameter will be returned. Cannot be used in conjunction with `recurring`.
  - `recurring_optional_text` string: Optional alternative text to show if the `recurring_optional` option is used
  - `show_terms` boolean: Toggle whether terms should be shown and acceptance required. If not defined the default is to show terms if no payment method has previously been added. Set this option to false if terms have already been showed in own system.

## Response `200`

Successful operation

- Session
  - `id` string, required: Session id
  - `url` string, required: Session url

## Other responses

- `400`: Invalid request, see error codes at https://api.frisbii.com/v1/error_codes
- `401`: None or invalid credentials provided in access to secured resource
- `403`: Not authorized to perform resource operation
- `404`: Resource or referenced resource not found, see error codes at https://api.frisbii.com/v1/error_codes
- `500`: Internal service error, error is reported automatically to Frisbii

---

[API](https://skmtc.dev/frisbii/apis/frisbii-checkout-api.md) - [All operations](https://skmtc.dev/frisbii/apis/frisbii-checkout-api/llms.txt) - [OpenAPI document](https://skmtc.dev/frisbii/apis/frisbii-checkout-api/revisions/43015ffd9dbb?raw)
