Checkout Payment Methods


Checkout allows you to specify which payment methods you would like to accept in your web shop.

You can either use pre-defined standard configurations, configured in the Billwerk+ Administration (Configurations → Checkout), or you can send in specific payment methods for an individual session.

If you pre-define a configuration you only need to reference the configuration name and do not need to specify the payment methods explicitly, when you create a new checkout session.

Strong Customer Authentication (SCA)

Some payment methods allow an extra layer of security to authorize the user. For card payments 3D Secure is an additional authentication flow in addition to entering card details. For wallets like Apple Pay, Google Pay, MobilePay, Vipps and Swish, the extra authentication is built into the apps.

We refer to all of these security schemes as strong customer authentication (SCA).

Syntax of payment_methods parameter

The payment_methods is a list of the payment methods you would like to accept.

<payment_methods> = list of <payment_method>
<payment_method>  = [sca-|nosca-]<payment_name>
<payment_name>    = The id of payment method, e.g. dankort


"payment_methods":["dankort", "visa"]

(Accept Dankort and Visa)

Additionally, you can add a prefix to specify the behaviour of SCA. Add:

  • sca- · to specify the transaction must use SCA or
  • nosca-· to specify the transaction should never use SCA.

If no prefix is given, the default behavior is to use SCA if it is enabled in the Billwerk + Payments Administration and the card used is enrolled in an SCA scheme. Payments with unenrolled cards will fail when using sca-. Notice that payments using unenrolled cards might not be subject to liability shift. The default behavior can be changed in the administration, so the default becomes must use SCA.


"payment_methods":["visa", "sca-mc"]

(Accept VISA and MasterCard, but always enforce strong customer authentication for MasterCard)

The payment methods are read from left to right. Start with the general settings, and then add the more specialized settings. If you experience issues with a given card type you can, for example, force SCA.

Payment methods

To specify all card types, you can use a convenient shorthand card. This will automatically be expanded to all available debit/credit card types.

We currently support the following payment methods:

cardAll available debit / credit cardsrecurring
dankortDankortsingle, recurring
visaVISAsingle, recurring
visa_elecVISA Electronsingle, recurring
mcMasterCardsingle, recurring
amexAmerican Expresssingle, recurring
mobilepayMobilePay Onlinesingle
mobilepay_subscriptionsMobilePay Subscriptionsrecurring
resursResurs Banksingle
vipps_recurringVipps Recurringrecurring
dinersDiners Clubsingle, recurring
maestroMaestrosingle, recurring
laserLasersingle, recurring
discoverDiscoversingle, recurring
jcbJCBsingle, recurring
china_union_payChina Union Paysingle, recurring
ffkForbrugsforeningensingle, recurring
applepayApple Paysingle, recurring
googlepayGoogle Paysingle
klarna_pay_laterKlarna Pay Latersingle
klarna_pay_nowKlarna Pay Nowsingle
klarna_slice_itKlarna Slice It!single
klarna_direct_bank_transferKlarna Direct Bank Transfersingle
klarna_direct_debitKlarna Direct Debitsingle
p24Przelewy24 (P24)single
verkkopankkiFinnish bankssingle
sepaSEPA Direct Debitsingle, recurring
bancomatpayBANCOMAT Paysingle
estonia_banksEstonian Bankssingle
latvia_banksLatvian Bankssingle
lithuania_banksLithuanian Bankssingle
mb_wayMB Waysingle
wechatpayWeChat Paysingle
offline_bank_transferBank Transfersingle, recurring
offline_cashCashsingle, recurring
offline_otherOthersingle, recurring


Force strong customer authentication for a given card type

card, sca-visa

Accept all debit/credit cards with default settings for SCA. For Visa transactions it must use 3D Secure or the transaction will fail.

Disable strong authentication for all card transactions

viabill, nosca-card

Accept Viabill and all debit/credit cards. Never use strong customer authentication for cards.

Complete charge example

Here is an example where payment methods are specified for a charge:

curl --request POST \
  -u '<your_private_key>:' \
  --url \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"order":
       "email":"[email protected]",
   "payment_methods":["dankort", "visa"]

Here we create a charge and specify only Dankort and Visa should be accepted as a method of payment.