The Simulator is an adapter for integration & testing purposes only. No real transaction will be performed at any payment provider.
Test data
Credit cards
Brand
Number
Result
Visa
4111 1111 1111 1111
Success
Visa
4242 4242 4242 4242
Failure
Mastercard
5555 5555 5555 4444
Success
Mastercard
5105 1051 0510 5100
Failure
Diners
3800 000000 0006
Success
Amex
3782 8224631 0005
Success
Discover
6011 1111 1111 1117
Success
Additionally you can simulate a SCA Soft-Decline error code by sending amount 65.00 (any currency)
Extended 3D-Secure Testing
If extended 3D-Secure Testing is enabled on the Simulator, you can use the following card numbers (resp. card holder names for 3DS version 1) to simulate the given results:
You may simulate a transaction status change by adding the extraData pendingOutcome. Do note that this simulation
may only be evoked by submitting an IBAN with outcome pending (ending with 2222) via the simulator payment page.
The status will change in approx. 5 minutes after submission.
Due the number of payment channels 2C2P provides per payment channel an extra parameter is required to determine which channel should be used.
The full list of supported channels can be found here: List of Payment Channels
To use the desired Channel the "Channel Code" has to be submitted via the "sub-method" extra data field.
AdvCash
Payment Methods
Payment Method
Transaction Flows
Transaction Types
AdvCash Wallet
Full-Page Redirect, Server-To-Server
Register, Debit, Payout
Account Verification
The register transaction type (server-to-server) allows for verifying an AdvCash
account. Send either customer.email or extraData.walletId for identifying an
AdvCash wallet. Additionally, customer.firstName and customer.lastName are
required. AdvCash returns a percentage of how much first and last name are
matching, respectively. Additionally, a boolean flag is provided if the account
is verified by AdvCash.
Note: the register transaction won't fail, if first and/or last name
don't match, or if the wallet account is unverified. It will only fail, if the
wallet account doesn't exist.
Adyen
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
iFrame Form & payment.js Integration
All
AliPay
Full-Page Redirect
Debit, Refund
Giropay
Full-Page Redirect
Debit, Refund
EPS
Full-Page Redirect
Debit, Refund
DirectDebit
Full-Page Redirect
Debit, Refund
iDeal
Full-Page Redirect
Debit, Refund
Dotpay
Full-Page Redirect
Debit, Refund
DragonPay
Full-Page Redirect
Debit, Refund
Boleto
Full-Page Redirect
Debit, Refund
Bancontact
Full-Page Redirect
Debit, Refund
Qiwi
Full-Page Redirect
Debit, Refund
Sofort
Full-Page Redirect
Debit, Refund
UnionPay
Full-Page Redirect
Debit, Refund
WeChatPay
Full-Page Redirect
Debit, Refund
Blik
Hosted Payment Page
Debit, Refund
Vipps
Full-Page Redirect
All
Online Banking Finland
Full-Page Redirect
Debit, Refund, Partial refund
Swish
Full-Page Redirect
Debit, Refund, Partial refund
PaySafeCard
Full-Page Redirect
Debit, Refund
Additional parameters
Creditcard
Parameter
Required
Description
extraData.authorisationType
No
PreAuth or FinalAuth
Blik
Parameter
Required
Description
extraData.blikCode
No
The code the customer got from Blik
Afterpay
Afterpay supports the following currencies: AUD, NZD, USD and CAD.
The used currency must also match the currency of the Afterpay merchant account.
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Supported Currencies
Afterpay
Full-Page Redirect
Debit, Preauthorize, Capture, Void, Refund
AUD, NZD, USD, CAD
Mandatory Parameters
Name
Type
Required
Description
firstName (Customer)
string
true
The customer’s first name and any middle names
lastName (Customer)
string
true
The customer’s last name
email (Customer)
string
true
The customer’s email address
billingAddress1 (Customer)
string
true
First line of the address.
billingCity (Customer)
string
true
Australian suburb, New Zealand town or city, U.K. Postal town, U.S. or Canadian city
billingState (Customer)
string
true
Australian state, New Zealand region, U.K. county, Canadian Territory or Province, or U.S. state
billingPostcode (Customer)
string
true
ZIP or postal code
billingCountry (Customer)
string
true
The two-character country code
shippingFirstName (Customer)
string
true
Shipping first name
shippingLastName (Customer)
string
true
Shipping last name
shippingAddress1 (Customer)
string
true
First line of the address
shippingCity (Customer)
string
true
Australian suburb, New Zealand town or city, U.K. Postal town, U.S. or Canadian city
shippingState (Customer)
string
true
Australian state, New Zealand region, U.K. county, Canadian Territory or Province, or U.S. state
shippingPostcode (Customer)
string
true
ZIP or postal code
shippingCountry (Customer)
string
true
The two-character country code
extraData.billingName (Customer)
string
true
The full name of contact (first and last name)
Additional Parameters
Name
Type
Required
Description
extraData.billingCity2 (Customer)
string
false
New Zealand suburb or U.K. village or local area
extraData.shippingCity2 (Customer)
string
false
New Zealand suburb or U.K. village or local area
extraData.shippedAt
string
false
The time at which the order was shipped, in ISO 8601 format
extraData.courierName
string
false
The name of the courier
extraData.tracking
string
false
The tracking number provided by the courier
extraData.priority
string
false
The shipping priority. If provided, must be either 'STANDARD' or 'EXPRESS'
extraData.taxAmount
string
false
The included tax amount after applying all discounts
extraData.shippingAmount
string
false
The shipping amount
Item Parameters
If items are given with the transaction data, the following parameters can or must be given:
Name
Type
Required
Description
name (Item)
string
true
Product name or display name for the discount
quantity (Item)
string
conditional
Mandatory for normal items, not mandatory for discount items
price (Item)
string
false
The unit price of the individual item. Must be a positive value
extraData.type (Item)
string
false
Set this parameter to 'discount' if the item should be sent as a discount item. Otherwise the field can be left empty
extraData.sku (Item)
string
false
Product SKU
extraData.pageUrl (Item)
string
false
The canonical URL for the item's Product Detail Page
extraData.imageUrl (Item)
string
false
A URL for a web-optimised photo of the item, suitable for use directly as the src attribute of an img tag
extraData.estimatedShipmentDate (Item)
string
false
The estimated date when the order will be shipped, in YYYY-MM or YYYY-MM-DD format
Options Request
Get Configured Min Max Purchase Amount
In order to get the configured Min and Max purchase amount range an
Options Request is required.
Please use minMaxPrice as an identifier e.g. POST /options/{apiKey}/minMaxPrice.
You can find more information about the options request here: Options Request
The Reference Merchant Id - The ID assigned to identify the merchant.
extraData.merchantName
string
true
The display name of the merchant.
extraData.merchantMCC
string
true
The merchant category code, which represents the categorization of the merchant's business type
extraData.merchantAddressRegion
string
true
The merchant address country
extraData.merchantAddressCity
string
true
The merchant address city
extraData.referenceStoreId
string
false
The Reference Store Id - The ID assigned to identify a store.
extraData.storeName
string
false
The store name
extraData.storeMCC
string
false
The stores category code, which represents the categorization of the store's business type
extraData.storeAddressRegion
string
false
The store address region
extraData.storeAddressAddress1
string
false
The store address
extraData.expirySeconds
int
false
Seconds till the payment expires. Between 60 seconds and 600 (default) seconds.
extraData.settlementCurrency
string
false
The 3 letter ISO currency code of the currency that the merchant wants to be settled against. If provided, overwrites connector configuration
extraData.signatureKeyVersion
string
false
Specifies the key version that is used to generate or validate the signature. By default, the value is the latest version of the key associated with Client-Id
Debit Parameters
Name
Type
Required
Description
currency
string
true
3 letter currency code
amount
string
true
Transaction amount: decimals separated by a "." (dot)
description
string
true
Description of items the user is purchasing Alipay+ Docs
Javascript function to handle initialization completion
<script type="text/javascript">varpayment=newPaymentJs("1.2");amazonEventHandler=function(eventName,data){//handle events here}completeHandler=function(paymentJsInstance){//you can do additional stuff in here, e.g. make the DIVs visible if they were hidden}varadditionalParameters={buttonType:"PwA",// Type of AmazonPayments ButtonbuttonColor:"Gold",// Color of AmazonPayments ButtonbuttonSize:"small",// Size of AmazonPayments ButtonloginPopup:true,// Use Pop-Up for logging customers in into their Amazon accountautoShow:true,// automatically show AmazonPayments Login button once readyloginRedirectUrl:// if loginPopup is false, provide the URL to get back redirected after customer logged in to Amazon};payment.initAmazon('public-integration-key','loginButton',// mandatory'addressWidgetDiv',//optional'walletWidgetDiv',// mandatory'consentWidgetDiv',// optional, necessary for recurring transactionsamazonEventHandler,additionalParameters,completeHandler);</script>
4. You can react on the various AmazonPayments events in your amazonEventHandler.
If you set autoShow to true, the various widget will be automatically shown to fulfill the payment flow.
If set to false, you have to take care about that on your own.
The following events will be fired:
login.ready: ready to show login button
login.shown: login button was shown
login.error: failed to show login button, data will include code and message with Amazon error information
login.complete: customer successfully logged in
addressBook.error: failed to show addressBook widget, data will include code and message with Amazon error information
addressBook.shown: addressBook widget was shown
addressBook.selected: customer has chosen/changed the delivery address
wallet.error: failed to show wallet widget, data will include code and message with Amazon error information
wallet.selected: customer has chosen a wallet
wallet.shown: wallet widget was shown
consent.complete: consent was granted by customer
consent.incomplete: consent is not yet granted by customer
consent.error: failed to show consent widget, data will include code and message with Amazon error information
The individual widgets can be shown and hidden with payment.js methods.
5. Once wallet.selected (or consent.complete to enable recurring transactions) was fired, and the customer confirms the order on your checkout page, you must call the tokenize method to obtain a payment token.
This token is then to be used in the transactionToken element of the Debit call to the Transaction API.
<script type="text/javascript">payment.tokenize({},//optional additional datafunction(token){//Submit token to your server and perform transaction through Transaction API//Example:$('#transaction_token').val(token);//store the transaction token$('#payment_form').get(0).submit();//submit the form},function(errors){//show/handle errors});</script>
For Amazon Payment Services we can identify MADA/MEEZA cards depending on the BIN range to be used in the Hosted Payment Page
ApplePay
ApplePay is not an adapter itself, but a common type of payment supported by some of the listed adapters.
Prerequisites
For processing transactions with ApplePay tokens, the Gateway has to be configured with your Payment Processing certificate first. Please ask your Gateway administrator to do so.
Instruction on how to acquire this certificate can be found directly in the Apple documentation: https://developer.apple.com/documentation/apple_pay_on_the_web/setting_up_your_server
For all transactions of Type [Debit], Descriptionis a mandatory field.
it's mandatory to add items to the Debit transactions where Item Name accepts one of these values [sku,tax,shipping, discount].
Item Description and Item Price are mandatory as well.
for "sku" items, these fields are mandatory too : Item Identifier, Item.extraData.disc_amount for discount amount, and Item.extraData.disc_description for discount description. While this field is optional: Item.extraData.uri.
BillPay
Payment Methods
Payment Method
Transaction Flows
Transaction Types
DirectDebit
Server-To-Server
Register, Debit, Refund
Invoice
Server-To-Server
Register, Debit, Refund
Note: any Debit transaction automatically creates the authorization & the invoice on BillPay side.
Mandatory parameters
Extra data
Mandatory
Description
Description
No
Description that should be shown on the bank statement
extraData.expectedDaysTillShipping
Yes
integer in days
extraData.shippingMethod
Yes
any string
extraData.itemIdentification
For Register
any string, used as articleId
extraData.itemName
For Register
any string, used as articleName
customer.identification
Yes
customer.firstName
Yes
customer.lastName
Yes
customer.email
Yes
customer.billingAddress
Yes
all address details
customer.birthDate
Yes
e.g. 1980-01-01
customer.iban
Yes
for DirectDebit
customer.ipAddress
Yes
customer.extraData.salutation
Yes
Mr., Mrs., Hr., Fr., etc.
customer.extraData.type
Yes
guest, existing or new
items
Yes
at least one item
extraData.paymentType
No
one of invoice, directDebit - overrules configuration
The Braintree Public Key - to be found in the Braintree Merchant Portal
privateKey
string
true
The Braintree Private Key - to be found in the Braintree Merchant Portal
merchantId
string
false
The Braintree Merchant Id - to be found in the Braintree Merchant Portal
ignoreDisputes
bool
false
Determine if incoming Disputes (part of Callback) should be handled at all.
sendDescriptionInCustomField
string
false
Required if you want to add a description to your Transaction (checkout Further Config Parameter Description down below).
sendMerchantTransactionIdInCustomField
string
false
Required if you want to pass a Merchant-Transaction-Id to your Transaction (checkout Further Config Parameter Description down below).
Further Config Parameter Description
To be able to use sendDescriptionInCustomField or sendMerchantTransactionIdInCustomField, you will have to set up "Custom Fields"
in the Braintree Merchant Portal (please checkout the offical Braintree Docu, see Custom Fields).
Add a new Custom Field and pass the "Api Name" of the representing field in the Connector Config.
(e.g 'merchant_tx_id' for sendMerchantTransactionIdInCustomField)
Required parameters
transaction.indicator: mandatory for card on file, card on file merchant initiated, recurring (see Recurring Transactions)
2. Provide a DIV element on your page for the PayPal button
<divid='paypalButtonDiv'></div>
3. Initialize the payment.js with the following parameters:
ID of the DIV element
Boolean option to state whether device data should be gathered (needed for merchant initiated Card-On-File transactions)
Javascript function to handle payment completion
Javascript function to handle error events
Javascript function to handle cancellation events
PayPal options (see below in example, refer to Braintree Documentation for possible options. The 'flow' option is per default set to 'vault' if not otherwise specified, but may be overwritten, e.g. 'checkout'. Please refer to the Paypal Documentation for the different button options.
<script type="text/javascript">varpayment=newPaymentJs("1.2");errorHandler=function(error){//handle error events here}cancellationHandler=function(data){//handle cancellation event here - called if user cancelled payment process}completeHandler=function(paymentNonce,deviceData){//send the paymentNonce to the gateway via the transactionToken parameterop//send deviceData to Ixopay via the extraData.deviceData parameter if the parameter 'gatherDeviceData' was set to true}varbuttonOptions={style:{color:'silver'},locale:'en_US'};varpaypalOptions={amount:"9.99",currency:"EUR",button:buttonOptions,flow:"vault"};payment.initBraintreePaypal('public-integration-key','paypal-button-div',false,// gatherDeviceData, set true for merchant initiated card-on-file transactionscompleteHandler,errorHandler,cancellationHandler,paypalOptions);</script>
4. You can now call the Transaction API with the transaction token set to the paymentNonce returned to the completeHandler.
If you set gatherDeviceData to true, the completeHandler will receive a second parameter deviceData which can be sent via the Transaction API using the extraData.deviceData parameter.
If set to false, device data will not be gathered and the deviceData parameter will be null.
Collecting device data is only required for Card-On-File transactions.
Transaction API Additional Parameters
When sending the payment token received by the completeHandler to the Transaction API, the following extraData keys can be used:
Key
Description
merchantAccountId
The merchant account ID used to create a transaction, which also defines the currency. If not given, the default merchant account ID is used.
deviceData
Only required for Card-On-File transactions. Use device data returned by the completeHandler.
Customer ExtraData Parameters:
Key
Description
fax
Refer to Braintree documentation
phone
Refer to Braintree documentation
website
Refer to Braintree documentation
billingCompany
Refer to Braintree documentation
billingFirstName
Refer to Braintree documentation
billingLastName
Refer to Braintree documentation
Customer Identification Mandatory
The parameter customer.identification is mandatory in the following cases:
When creating a new register transaction
When creating a debit or preauthorize transaction with the flag withRegister
When creating a merchant initiated Card-On-File transaction
CreditCard
Test Me
Cardeta
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
Server-To-Server, iFrame Form & payment.js Integration
Originators of the message alphanumeric: max length 11 characters numeric: max length 17 characters (must start with 00<country code>), e.g. 0031 for Netherlands
body
Yes
Message to be sent alphanumeric: max 160 characters
type
Yes
TEXT or BINARY
to
Yes
Recipient MSISDN including country code, e.g. 0031
tariff
No
End user tariff 0-3 decimals
header
No
User data header of binary message (Do not add length byte at start)
The following extraData fields are optional for these transaction types:
Parameter
Allowed values
Description
extraData.MITReason
Merchant initiated Transaction reason.
extraData.originalAmount
Original amount of the preauthorize.
Decision Manager:
The following extraData fields are necessary or optional for the Cybersource Decision Manager
(Please refer to the Cybersource Documentation for the possible values and the requirements):
Parameter
Allowed values
Description
extraData.useDecisionManager
'true'
Mandatory if DM is used. Send true if you want to send the decision manager data to cybersource.
extraData.dm_profile
Decision manager profile name not needed if default profile is used.
extraData.dm_lastChangeDate
last change of account data
extraData.dm_creationHistory
GUEST, NEW_ACCOUNT, EXISTING_ACCOUNT
extraData.dm_modificationHistory
IF EXISTING_ACCOUNT = ACCOUNT_UPDATED_NOW or ACCOUNT_UPDATED_PAST
Current date if not GUEST and firstUseOfShippingAddress is false
extraData.dm_accountPurchases
Number of Purchases
extraData.dm_addCardAttempts
Number of add card attempts in last 24 hours.
extraData.dm_suspiciousActivities
Indicates previous suspicious activities recogniced by the merchant.
extraData.dm_paymentAccountHistory
PAYMENT_ACCOUNT_EXISTS, PAYMENT_ACCOUNT_ADDED_NOW (only for NEW_ACCOUNT and EXISTING_ACCOUNT)
extraData.dm_paymentAccountDate
IF PAYMENT_ACCOUNT_EXISTS add date
extraData.dm_transactionCountDay
Number of transactions in last 24 hours. (Success & abandoned)
extraData.dm_transactionCountYear
Number of transactions in the last year. (Success & abandoned)
extraData.dm_auxiliaryData
Array of Arrays with key, value pair
Dalenys
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Credit card
payment.js, Redirect & iFrame Form
all
Additional Parameters
description (required)
useragent (extra data, required):
The browser's useragent (even for recurring transactions).
descriptor (extra data, optional): needs to be enabled on Daleny's
side too.
identification (customer, required)
email (customer, required)
IP address (customer, required)
Reference Transaction (maybe required):
Depending on your MCC, it might be required to reference a 3DS authed
transaction for payouts.
3D-Secure Verification parameters are
supported, however MANDATORY will behave like OPTIONAL. That is, if the card
is not enrolled for 3DS authentication, the transaction will pass
unauthenticated.
will be displayed in on the Dimoco Checkout - Mandatory if Debit is with Register
↳extraData.promptProductArgs
string
false
can be filled with a JSON String which will be displayed on the Dimoco Checkout e.g. "{"pic":{"img":"https://urlToImage","alt":"The Ring"},"desc":{"de":"Cooler Ring","en":"Cool Ring"}}" \n if not set the description field will be used instead
↳extraData.promptMerchantArgs
string
false
can be filled with a JSON String which will be displayed on the Dimoco Checkout e.g. "{"logo":{"img":"https://urlToImage","alt":"Ring Store"}}"
DCB (Direct Carrier Billing) & PSMS (Premium SMS)
Depending on the underlying country of the MSISDN (mobile subscriber integrated services digital network number), the final payment might be via DCB or PSMS.
Country
Method
AT
DCB
BA
PSMS
BE
DCB
BG
PSMS
CH
DCB & PSMS
CZ
DCB & PSMS
DE
DCB
DK
DCB
ES
DCB
FI
DCB & PSMS
FR
DCB
GR
DCB
HR
DCB
HU
DCB
NL
DCB
NO
DCB
PL
DCB
RO
PSMS
RS
PSMS
RU
PSMS
SE
DCB
SI
DCB & PSMS
SK
PSMS
TR
DCB
UK
DCB
Options Request
EPS
For EPS you can retrieve the bank list via the Options request identifier epsBankList.
You can display this list to your customer in order to pre-select the desired bank.
The result contains a list of banks available for EPS, with BIC code as key and bank name as value.
The chosen BIC code of the chosen bank should then be passed as bic element in the IbanCustomer element of the XML.
Note: 3D-Secure behaviour is dependent on dLocal's configuration. For Mexico you may set 3dsecure explicitly to OPTIONAL.
APM & BankTransfer
Field
Mandatory
customer.firstName
country dependent
customer.lastName
country dependent
customer.email
country dependent
customer.billingPhone
country and method dependent
customer.nationalId
country dependent
extraData.bank_id
Required for BankTransfer
Payouts
Depending on the country and receiving bank, a variety of additional parameter
may be required (refer to dLocal's documentation).
Options Request
Debit - BankTransfer
For BankTransfer, you may retrieve a list of available banks in a country via
the Options request identifier getBankList. You can display this list to your
customer having him selecting his bank. The selected bank code should be
submitted as bank_id in extra data.
EasyPay (ePay.bg)
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
Full-Page Redirect
Debit
EasyPay
Full-Page Redirect & Server-to-server
Debit
Additional Parameters
invoice (optional):
If missing, a random id will be generated. The invoice will always be returned in the response.
You can find more information about the options request here:
Options Request
Retrieving a list of available banks
EBANX supports 2 endpoints for retrieving a list of available banks for all
supported countries. The results may be used for providing the correct
parameters for the payout request.
They're available with the options request identifier getAvailableBanks and
getBankDetails.
Ecommpay
Because of a restriction on Ecommpay side, you need to set the particular setting "Accept postbacks from other connectors (list GUIDs comma-separated)" inside the connector where you passed the notification URL to Ecommpay if you want to configure multiple connectors.
As value you need to pass the connector ID from all other Ecommpay connectors of the same account, example: "CO-8ce8-4ed7-e9d9-9261-715a-fad8,CO-02c7-62dd-d0e8-5918-6373-7e75". With this setting, all connectors will work with the same notification URL. This setting only needs to be set on the connector where you passed the notification URL to Ecommpay.
If you only have one connector per Ecommpay account, you don't need to configure this setting.
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Supported Currencies
Alipay
Redirect
Debit, Refund* **
AUD, CAD, CNY, EUR, GBP, HKD, JPY, SGD, USD
China Union Pay (CUP P2P)
Redirect
Debit, Payout*
CNY
DOKU Wallet
Redirect
Debit, Payout*
IDR
Nganluong Wallet
Redirect
Debit, Payout*
VND
Bank Transfer Indonesia
Redirect
Debit, Payout*
IDR
Bank Transfer Malaysia
Redirect
Debit, Payout*
MYR
Bank Transfer Philippines
Redirect
Debit, Payout*
PHP
Bank Transfer Korea
Redirect
Debit, Payout*
KRW
Bank Transfer Thailand
Redirect
Debit, Payout*
THB
Bank Transfer Thailand QR
Redirect
Debit
THB
Bank Transfer Vietnam
Redirect
Debit, Payout*
VND
Bank Transfer Vietnam QR
Redirect
Debit
VND
*Payout/Refund doesn't require any customer interaction or redirection.
**For Alipay refunds you have to activate the 'merchant_refund_id' field on Ecommpay side. Please talk to your Ecommpay Account Manager for further information.
Additional parameters for BankTransfer Debit
Extra data
Mandatory
Description
Customer - Identification
Yes
Unique customer identification, should be used on multiple payments if it is the same customer
Customer - First name
Yes
For Korea: the name entered needs to be the same as the account holder
Customer - Last name
Yes
For Korea: the surname entered needs to be the same as the account holder
Customer - EMail
Yes
Customer - Phone
No
Customer - Country
No
Customer - City
No
Customer - State
No
Customer - Postcode
No
Customer - National Id
No
Additional parameters for BankTransfer Payout
Extra data
Mandatory
Description
Customer - Identification
Yes
Unique customer identification, should be used on multiple payments if it is the same customer
Customer - First name
Yes
Customer - Last name
Yes
Customer - EMail
Yes
Customer - IP Address
Yes
extraData.account_number
Yes
Customer account number
extraData.bank_id
Yes
Bank identifier*
extraData.bank_branch
Yes
Bank branch identifier
extraData.bank_city
Yes
Bank branch city
extraData.region_id
Yes
Region identifier**
To retrieve a list of bank identifiers you need to send an options request with the identifier debit-bank-list or payout-bank-list and as parameter the bank name (available: vietnam, malaysia, philippines, indonesia, thailand).
** To retrieve a list of region identifiers you need to send an options request with the identifier region-list and as parameter the bank name (available: vietnam, malaysia, philippines, indonesia, thailand).
You can find more information about the options request here: Options Request
Unique customer identification, should be used on multiple payments if it is the same customer
Customer - First name
No
Customer - Last name
No
Customer - EMail
No
Customer - Phone
No
Customer - Country
No
Customer - City
No
Customer - State
No
Customer - National Id
No
Additional parameters for China Union Pay Payout
Extra data
Mandatory
Description
Customer - Identification
Yes
Unique customer identification, should be used on multiple payments if it is the same customer
Customer - First name
Yes
Customer - Last name
Yes
Customer - IP Address
Yes
Customer - EMail
Yes
Customer - Phone
Yes
Customer - Address
Yes
Customer - Country
Yes
Need to be CN
Customer - City
Yes
Customer - State
Yes
Customer - Postcode
Yes
extraData.bank_id
Yes
Bank identifier*
extraData.bank_branch
Yes
Bank branch identifier
extraData.bank_city
Yes
Bank branch city
extraData.region_id
Yes
Region identifier**
extraData.doc_number
No
Document number
To retrieve a list of bank identifiers you need to send an options request with the identifier debit-bank-list or payout-bank-list and as parameter the bank name (available: vietnam, malaysia, philippines, indonesia, thailand).
** To retrieve a list of region identifiers you need to send an options request with the identifier region-list and as parameter the bank name (available: vietnam, malaysia, philippines, indonesia, thailand).
You can find more information about the options request here: Options Request
Additional parameters for Alipay Refund
Extra data
Mandatory
Description
Description
Yes
Customer - Ip Address
Yes
Additional parameters for Nganluong Wallet Payout
Extra data
Mandatory
Description
Customer - Identification
Yes
Unique customer identification, should be used on multiple payments if it is the same customer
Customer - IP Address
Yes
extraData.account_number
Yes
Additional parameters for DOKU Wallet Payout
Extra data
Mandatory
Description
Customer - Identification
Yes
Unique customer identification, should be used on multiple payments if it is the same customer
Customer - First name
Yes
Customer - Last name
Yes
Customer - EMail
Yes
Customer - IP Address
Yes
Customer - Phone
Yes
Customer - City
Yes
Customer - Country
Yes
Customer - Birthday
Yes
extraData.wallet_number
Yes
Customer account number
extraData.doc_number
Yes
Document number
extraData.doc_type
Yes
Document type
extraData.doc_issue_country
Yes
An ISO 3166-1 (alpha-2) code of country that issued the document
Mandatory parameters for Debit, Debit with Register, Register
Extra data
Type
Mandatory
Description
description
String
Yes
Description of the transaction for later use
currency
String
Yes
Base currency for the order with three-character currency code
amount
Number
Yes
Amount of transaction in minor currency unit
remote_ip
String
Yes
IPv4 or IPv6 address of customer
iban
String
Yes
Customer’s IBAN number
first_name
String
Yes
Customer first name
last_name
String
Yes
Customer last name
address1
String
Yes
Primary address
zip_code
String
Yes
Postal code
city
String
Yes
City
country
String
Yes
Country code
Mandatory parameters for Recurring Debit
Extra data
Type
Mandatory
Description
description
String
Yes
Description of the transaction for later use
currency
String
Yes
Base currency for the order with three-character currency code
amount
Number
Yes
Amount of transaction in minor currency unit
remote_ip
String
Yes
IPv4 or IPv6 address of customer
Mandatory parameters for Refund
Extra data
Type
Mandatory
Description
description
String
Yes
Description of the transaction for later use
currency
String
Yes
Base currency for the order with three-character currency code
amount
Number
Yes
Amount of transaction in minor currency unit
Mandatory parameters for Payout
Extra data
Type
Mandatory
Description
description
String
Yes
Description of the transaction for later use
currency
String
Yes
Base currency for the order with three-character currency code
amount
Number
Yes
Amount of transaction in minor currency unit
remote_ip
String
Yes
IPv4 or IPv6 address of customer
iban
String
Yes
Customer’s IBAN number
bic
String
Yes
SWIFT/BIC code of the customer’s bank
first_name
String
Yes
Customer first name
last_name
String
Yes
Customer last name
address1
String
Yes
Primary address
zip_code
String
Yes
Postal code
city
String
Yes
City
country
String
Yes
Country code
Supported countries
AT, BE, CY, EE, FI, FR, DE, GR, IE, IT, LV, LT, LU, MT, MC,
NL, PT, SK, SM, SI, ES
ESR / SwissQR Bill
Payment Methods
Payment Method
Transaction Flows
Transaction Types
ESR
Server-To-Server
Debit
Additional parameters
additionalId1: mandatory - must contain the reference number for the bill.
description: optional - description for the bill
customer.firstName: optional
customer.lastName: optional
customer.billingAddress1: optional
customer.billingPostcode: optional
customer.billingCity: optional
customer.billingCountry: optional
Return Values
In the response you will find the key qrCode within the extraData element. This contains the Base64-encoded Image for the QR Code.
EwlPISP
The APIs will allow the initiation of a payment from any payment account to another payment account in Europe, held by any reachable ASPSP provided the account holder has given his explicit consent as is stipulated by the Payment Services Directive
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Bank Transfer
Redirect
Debit
Additional Parameters
Name
Type
Required
Description
extraData.AspspId
string
false
The Id of the ASPSP from bank list.
extraData.debtorAccount
string
false
(IBAN) Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction..
customer.shippingAddress1 (Customer)
string
false
The first address line
customer.shippingAddress2 (Customer)
string
false
The second address line
customer.shippingCity (Customer)
string
false
The address suburb, town or county
customer.shippingCountry (Customer)
string
false
The two-character country code
customer.shippingPostcode (Customer)
string
false
The address postcode
Options Request
Get Bank List from Reach Directory
In order to get the bank list from reach directory an Options Request is required.
Please use getBankList as an identifier e.g. POST /options/{apiKey}/getBankList.
Request Body
{
"parameters": {
"countryCode": "FR"
}
}
You can find more information about the options request here: Options Request
If set to true, the current running total of the account will be returned
checkChargebacks
Not required
If set to true, the number of detected chargeback transactions for the account will be returned
checkName
Required for name risk check
Last name to be checked against. Both first and last name are required for the check
checkFirstname
Required for name risk check
First name to be checked against. Both first and last name are required for the check
checkAccountSnapshotDays
Required for snapshot risk check if from and to date are not set
Range in days which should be used (between 10 and 365)
checkAccountSnapshotFrom
Required for snapshot risk check if days are not set
A date in the format yyyy-mm-dd
checkAccountSnapshotTo
Required for snapshot risk check if days are not set
A date in the format yyyy-mm-dd
checkAccountSnapshotFilters
Not required
An array of strings to filter the snapshot (e.g. ["income", "rent", "living-cost", "credit", "expenditure", "revenue", "salary"])
checkAccountSnapshotAllAccounts
Not required
If set to true, returns snapshot for all accounts including their turnovers
checkAccountSnapshotAllTags
Not required
If set to true, returns the full categorization of the turnovers in the snapshot
FacilitaPay
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Bank Transfer
Server-to-Server
debit, register and payout
Parameters Register
Parameter
Mandatory
Company or Person
Description
customer.extraData.document_type
true
both
Company/Person document type. Possible options: 'cnpj', 'tax_id' for companies and 'cpf', 'passport' for person
customer.extraData.document_number
true
both
Company/Person document number
customer.extraData.fiscal_country
true
both
Company/Person fiscal country e.g "BRA"
customer.extraData.social_name
true
company
Company social name
customer.company
true
company
Company name
customer.extraData.documents
false
both
Documents as defined by Facilitapay documentation as JSON string
customer.email
false
both
Company/Person email address
customer.birthDate
false
person
Person birth date
customer.billingPhone
false
both
Company/Person phone number
customer.extraData.creation_date
false
company
Company creation date e.g. 2015-04-01
customer.billingAddress1
false
both
Company/Person address street name
customer.billingAddress2
false
both
Company/Person address number
customer.extraData.address_complement
false
both
Company/Person address complement
customer.billingPostcode
false
both
Company/Person address postal code
customer.billingCity
false
both
Company/Person address city
customer.billingState
false
both
Company/Person address state
customer.billingCountry
false
both
Company/Person address state
customer.extraData.main_activity
false
company
Company/Person main activity
customer.extraData.activity_type
false
company
Company activity type. Possible options: other, open-capital, non-profit
customer.extraData.net_value
false
company
Company net value
customer.extraData.net_monthly_average_income
false
person
Person net monthly average income
customer.extraData.partners
false
company
Partners as defined by Facilitapay documentation as JSON string
customer.extraData.account_number
false
both
Company/Person account number
customer.extraData.branch_number
false
both
Company/Person branch number
customer.extraData.owner_document_number
false
both
Account owner CPF/CNPJ
customer.extraData.owner_name
false
both
Account owner name
customer.extraData.branch_country
false
both
Account branch country
customer.extraData.bank
false
both
Bank object as defined by Facilitapay documentation as JSON string
customer.extraData.currency
false
both
Account currency
customer.iban
false
both
IBAN Number
customer.extraData.routing_number
false
both
Routing number
Parameters Debit
Parameter
Required
Description
extraData.exchange_currency
true
Currency for exchanging
same parameters as for register
only if no referenced register or debit with register is submitted
Parameters Payout
Parameter
Required
Description
extraData.exchange_currency
true
Currency for exchanging
same parameters as for register
only if no referenced register or debit with register is submitted
Finance Wide
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
iFrame Form & payment.js Integration
All (no recurring, CVV must be present)
Additional Parameters
3D-Secure Verification parameters are ignored
entirely, however the underlying gateway manages and changes the behavior of
3D-Secure requirements on demand.
A human-readable description of the payment. This will be displayed to the payer when authorising the billing request.
Additional Parameters for Debit, Register
Name
Type
Required
Description
extraData.charge_date
string
false
A future date on which the payment should be collected. If not specified, the payment will be collected as soon as possible. If the value is before the mandate’s next_possible_charge_date creation will fail. If the value is not a working day it will be rolled forwards to the next available one.
reference
string
false
An optional reference that will appear on your customer’s bank statement. The character limit for this reference is dependent on the scheme.
customer.company
string
false
Customer’s company name. Required unless a given_name and family_name are provided. For Canadian customers, the use of a company_name value will mean that any mandate created from this customer will be considered to be a “Business PAD” (otherwise, any mandate will be considered to be a “Personal PAD”).
customer.company
string
false
Customer’s company name. Required unless a given_name and family_name are provided. For Canadian customers, the use of a company_name value will mean that any mandate created from this customer will be considered to be a “Business PAD” (otherwise, any mandate will be considered to be a “Personal PAD”).
customer.firstName
string
false
Customer’s surname. Required unless a company_name is provided.
customer.lastName
string
false
Customer’s first name. Required unless a company_name is provided.
customer.billingPhone
string
false
ITU E.123 formatted phone number, including country code.
customer.billingAddress1
string
false
The first line of the customer’s address.
customer.billingAddress2
string
false
The second line of the customer’s address.
extraData.address_line3
string
false
The third line of the customer’s address.
customer.email
string
false
Customer’s email address. Required in most cases, as this allows GoCardless to send notifications to this customer.
customer.billingCity
string
false
The city of the customer’s address.
customer.billingCountry
string
false
ISO 3166-1 alpha-2 code.
customer.billingState
string
false
The customer’s address region, county or department. For US customers a 2 letter ISO3166-2:US state code is required (e.g. CA for California).
customer.billingPostcode
string
false
The customer’s postal code.
extraData.lang
string
false
ISO 639-1 code. Used as the language for notification emails sent by GoCardless. Currently only “en”, “fr”, “de”, “pt”, “es”, “it”, “nl”, “da”, “nb”, “sl”, “sv” are supported. If this is not provided, the language will be chosen based on the country_code (if supplied) or default to “en”
customer.paymentData.ibanData.iban
string
false
International Bank Account Number. Alternatively you can provide local details. IBANs are not accepted for Swedish bank accounts denominated in SEK - you must supply local details.
extraData.danish_identity_number
string
false
For Danish customers only. The civic/company number (CPR or CVR) of the customer. Must be supplied if the customer’s bank account is denominated in Danish krone (DKK).
extraData.swedish_identity_number
string
false
For Swedish customers only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer. Must be supplied if the customer’s bank account is denominated in Swedish krona (SEK). This field cannot be changed once it has been set.
extraData.account_number
string
false
Bank account number. Alternatively you can provide an iban.
extraData.account_number_suffix
string
false
Account number suffix (only for bank accounts denominated in NZD).
extraData.account_type
string
false
Bank account type. Required for USD-denominated bank accounts. Must not be provided for bank accounts in other currencies.
extraData.bank_code
string
false
Bank code. Alternatively you can provide an iban
extraData.branch_code
string
false
Branch code. Alternatively you can provide an iban.
extraData.lock_customer_details
string
false
If true, the payer will not be able to edit their customer details within the flow. Default is false.
extraData.lock_bank_account
string
false
If true, the payer will not be able to change their bank account within the flow. Default is false.
Additional Parameters for Refund
Name
Type
Required
Description
reference
string
false
An optional reference that will appear on your customer’s bank statement. The character limit for this reference is dependent on the scheme.
GooglePay™
GooglePay is not an adapter itself, but a common type of payment supported by some of the listed adapters.
Only GooglePay protocol version 2 (ECv2) is supported.
Prerequisites
You can use GooglePay in your Android app or on your website.
To integrate GooglePay in your Android app please refer to the following links:
For GooglePay transactions acquire a Payment Token through your Android app, or on your website.
Use the following parameters when sending a request to Google and replace YOUR_MERCHANT_ID with the GUID of your merchant:
gateway = "YOUR_GATEWAY_PARAMETER"
gatewayMerchantId = "YOUR_MERCHANT_ID"
If you are unsure about your gateway parameter, please contact your account manager.
The resulting token must be submitted in the transactionToken element of the Debit/Preauthorize, prefixed with googlepay:
Example XML
<transactionToken>googlepay:{"signature":"...","intermediateSigningKey":{"signedKey":"{\"keyValue\":\"...\",\"keyExpiration\":\"...\"}","signatures":["..."]},"protocolVersion":"ECv2","signedMessage":"{\"encryptedMessage\":\"...\",\"ephemeralPublicKey\":\"...\",\"tag\":\"...\"}"}</transactionToken>
Example JSON
[...]"transactionToken": "googlepay:{\"signature\":\"...\", ...}\"}",[...]
Card Parameters
A billing address is not required for processing transactions, therefore no billing address parameters need to be given with a card.
Supported Card Authentication Methods
PAN_ONLY
CRYPTOGRAM_3DS
Supported Card Networks
AMEX
DISCOVER
INTERAC
JCB
MASTERCARD
VISA
HNCB - Hua Nan Commercial Bank
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Bank Transfer
Full Page Redirect
Debit
Credit Card
Full Page Redirect
Debit
HNCB QR
Full Page Redirect
Debit
Connector Config
Parameter / Name
Type
Mandatory
Allowed Value
Description
MerchantID_CreditCard
string
true
-
Provided by HNCB. Also referred to as "StoreID"
TerminalID_CreditCard
string
true
-
Provided by HNCB.
MerID_CreditCard
string
true
-
Provided by HNCB
CheckID_CreditCard
string
true
-
Provided by HNCB.
MerchantName_CreditCard
string
true
-
The Merchant Name that gets displayed during the Checkout Process.
MerchantID_QR
string
true
-
Provided by HNCB.
TerminalID_QR
string
true
-
Provided by HNCB.
AcquiringBank_QR
string
true
3 chars
Provided by HNCB.
MerchantName_QR
string
true
-
The Merchant Name that is being used to generate the QR Code.
SecureCode_QR
string
true
-
Provided by HNCB.
VerificationParameter_QR
string
true
32 chars
32 char Hexadecimal String - shared between Merchant and HNCB, required for the QR Encryption.
DefaultCountryCode_QR
string
true
3 chars
Required for the QR Code generation - usually consists of three numbers.
EnterpriseCode_BankTransfer_QR
string
true
5 chars
Provided by HNCB. Also referred to as "Virtual Account"
EBillMerchantNumber_BankTransfer
string
true
-
Provided by HNCB.
PaymentTypeNumber_BankTransfer
string
true
-
Provided by HNCB.
FeeTypeNumber_BankTransfer
string
true
-
Provided by HNCB.
Important Information (HNCB QR + Bank Transfer)
HNCB requires a strict format for the OrderNumber (also known as NoticeNumber in case of the Bank Transfer Payment Method) that is sent to them. The structure of this Number looks like : 5 chars (EnterpriseCode_BankTransfer_QR is automatically taken from the Connector Config) + 11 chars.
Ixopay requires you to set up a Terminal to your Connector, which will autogenerate an STAN and add it as part of the OrderNumber.
Humm
The required currency is AUD (Australian dollar) for Australia and NZD (New Zealand dollar) for New Zealand.
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Humm
Full-Page Redirect
Debit, Refund
Additional Parameters
Name
Type
Required
Description
firstName (Customer)
unicode string
false
Customer's first name
lastName (Customer)
unicode string
false
Customer's last name
email (Customer)
unicode string
false
Customer email address
shippingPhone (Customer)
unicode string
false
Customer's phone number
shippingAddress1 (Customer)
unicode string
false
Shipping address line 1
shippingAddress2 (Customer)
unicode string
false
Shipping address line 2
shippingCity (Customer)
unicode string
false
Shipping city
shippingCountry (Customer)
iso-3166-1 alpha-2
false
Shipping country e.g. AU
shippingState (Customer)
unicode string
false
Shipping state
shippingPostcode (Customer)
unicode string
false
Shipping postcode
shippingFirstName (Customer)
unicode string
false
Customer's first name (Shipping)
shippingLastName (Customer)
unicode string
false
Customer's last name (Shipping)
billingAddress1 (Customer)
unicode string
false
Billing address line 1
billingAddress2 (Customer)
unicode string
false
Billing address line 2
billingCity (Customer)
unicode string
false
Billing city
billingCountry (Customer)
iso-3166-1 alpha-2
false
Billing country e.g. AU
billingState (Customer)
unicode string
false
Billing state
billingPostcode (Customer)
unicode string
false
Billing postcode
HiPay
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Visa
Full-Page Redirect
Capture, Debit, Preauthorize, Refund, Void
Mastercard
Full-Page Redirect
Capture, Debit, Preauthorize, Refund, Void
Bancontact
Full-Page Redirect
Capture, Debit, Preauthorize, Refund, Void
Bancontact QR Code
Full-Page Redirect
Capture, Debit, Preauthorize, Refund, Void
Mandatory parameters for Debit and Preauthorize
Extra data
Type
Mandatory
Description
orderid
String
Yes
Unique order ID
description
String
Yes
The order short description
currency
String
Yes
Base currency for the order with three-character currency code
amount
Number
Yes
Total order amount
Aditional parameters Debit and Preauthorize
Extra data
Type
Mandatory
Description
operation
String
No
Operation can be either Sale for automatically submitting for capture or Authorization for manually capturing / void
payment_product_list
String
No
List of payment products to display on the payment page
basket
String
No
Shopping cart details
authentication_indicator
String
No
If the payment product is a credit or debit card, this parameter specifies whether 3-D secure authentication should be performed for this transaction.
Mandatory parameters for capture and refund
Data
Type
Mandatory
Description
transaction_reference
String
Yes
The unique identifier of the transaction
operation
String
Yes
The operation to perform on the transaction: capture, cancel or refund
amount
String
Yes
Amount is required for partial maintenances. Do not specify amount for full captures or refunds.
Item Parameters
If items are given with the transaction data, the following parameters can or must be given. For capture and refund only items that must be captured or refunded have to be sent.
Name
Type
Required
Description
item.product_reference
string Alphanumeric characters (a-z, A-Z, 0-9)
Yes
Unique product reference
item.quantity
Number
Yes
Product quantity
item.name
String
Yes
Product description
item.unit_price
Decimal number with explicit decimal point
Yes
Price of the item
item.discount
string
Yes
Discount amount, always 0 or negative
item.total_amount
Number
Yes
Unit price X quantity – discount. . The sum of every “total_amount” must be equal to the “amount” sent in the call and it is automatically calculated
item.extraData.tax_rate
string
Yes
Tax rate in percentage
item.extraData.type
string Alphanumeric characters (a-z, A-Z, 0-9)
Yes
Type of product Possible values are good, discount or fee
item.extraData.european_article_numbering
string Alphanumeric characters (a-z, A-Z, 0-9)
No
European article numbering
Ingenico Connect
Payment Methods
Payment Method
Transaction Flows
3DSecure
Creditcard / Global Collect
iFrame Form & payment.js Integration
3DS, 3DSv2
Creditcard / Ogone
iFrame Form & payment.js Integration
3DS
Required parameters
customer.billingCountry: mandatory
customer.identification: mandatory for register, debit with register, authorization with register
transaction.indicator: mandatory for card on file, card on file merchant initiated, recurring (see Recurring Transactions)
Webhooks
To use webhooks with Ingenico Connect you have to register the webhooks callback URL inside the Ingenico Connect Interface or talk with your account managerr on Ingenico side.
Documentation regarding Google Pay and Apple Pay can be found here: Google Pay, Apple Pay
Required parameters
iDeal
extraData.ideal_issuer
For the issuer you may do an Options Request using the identifier ideal-issuers. It will return a list of available issuer for iDeal.
Webhooks
To use webhooks with Ingenico Direct you have to register the webhooks callback URL inside the Ingenico Interface or talk with your account manager on Ingenico side.
3. Retrieve a Widget-Token via a Prepare Call (Prepare-Debit or Prepare-Preauthorize). This Call is required to initialize a Klarna Session and provide it with all the checkout data.
Endpoint: POST https://gateway.ixopay.com/api/v3/transaction/{apiKey}/prepare-(debit or preauthorize)
Prepare Transaction Parameters
Name
Type
Mandatory
Description
amount
string
true
Amount of transaction, decimals separated by a "." (dot)
currency
string
true
3 letter currency code
description
string
false
If there is no Item given, the Description will be mandatory
The total amount of the Item (item.price * item.quantity)
↳items.item.extraData.type
string
false
Type of the order line item. The possible values are: physical discount shipping_fee sales_tax digital gift_card store_credit surcharge. Default Value is 'physical'
↳items.item.extraData.taxRate
string
false
Tax rate of the order line. Non-negative value. The percentage value is represented with two implicit decimals. I.e 1900 = 19%.
↳items.item.extraData.totalTaxAmount
string
false
Total tax amount of the order line. Must be within ±1 of total_amount - total_amount 10000 / (10000 + tax_rate). Negative when type is discount.
↳items.item.extraData.productUrl
string
false
A Url String that points to your Product
↳items.item.extraData.merchantData
string
false
Information about the Product
↳items.item.extraData.imageUrl
string
false
A Url String that points to your Product Image
4. Initialize the Klarna Widget with the following parameters:
The "Public Integration Key" of your Connector
The "Widget-Token" that you received from the Prepare Call
4. Authorize / Finalize the Klarna Widget with the following parameters:
The "Public Integration Key" of your Connector
The "Widget-Token" that you received from the Prepare Call
Javascript function to handle payment completion
Javascript function to handle error events
Auto-Finalize Option (only available for the Sofort 'pay_now' payment method - default = true),
as described in the Klarna Documentation: finalize is a special call that is needed for the Pay Now payment method category in multi-step checkouts.
In a multi-step checkout scenario the authorize() call can be triggered when the consumer selects the payment method and then presses the “continue” button to go to the next step of the checkout.
With Pay Now as payment method category however transferring the funds should only happen once the consumer has pressed the “buy” button to finalize the purchase.
To cater for such a scenario authorize() can still be called when the consumer has selected the payment method, but with the auto_finalize property set to false.
<script type="text/javascript">varwidget=newWidgetJs();errorHandler=function(error){//handle error events here}completeHandler=function(authToken){//send the received authToken in the extraData for a debit or preauthorize call}widget.authKlarna('Public Integration Key','Widget-Token','klarna-payments-container',completeHandler,errorHandler,true/false(optional));// Depending on Auto-Finalize Option from widget.authKlarnawidget.finalizeKlarna('Public Integration Key','Widget-Token','klarna-payments-container',completeHandler,errorHandler);</script>
5. Send Debit / Preauthorize Request with the received Auth-Token from Step 4.
Send the authorization_token in the extraData object to place the order.
The total amount of the Item (item.price * item.quantity)
↳items.item.extraData.type
string
false
Type of the order line item. The possible values are: physical discount shipping_fee sales_tax digital gift_card store_credit surcharge. Default Value is 'physical'
↳items.item.extraData.taxRate
string
false
Tax rate of the order line. Non-negative value. The percentage value is represented with two implicit decimals. I.e 1900 = 19%.
↳items.item.extraData.totalTaxAmount
string
false
Total tax amount of the order line. Must be within ±1 of total_amount - total_amount 10000 / (10000 + tax_rate). Negative when type is discount.
↳items.item.extraData.productUrl
string
false
A Url String that points to your Product
↳items.item.extraData.merchantData
string
false
Information about the Product
↳items.item.extraData.imageUrl
string
false
A Url String that points to your Product Image
Recurring Transactions
Klarna supports recurring Orders. To create a recurring Order you will have to send your Debit or Preauthorize with the extra "withRegister" flag. For every following recurring Transaction you will have to
provide the initial Transaction Uuid as "referenceUuid" and the "transactionIndicator" with "RECURRING".
Klarna supports partial capturing of created orders. Therefore send a regular Capture call with the desired capture amount and the the corresponding reference Transaction ID.
If you did not fully capture the original order amount, you can either send another Capture Request to actually capture the remaining amount or release it with an "Final Capture".
This will "release" the remaining amount and add it to your Klarna Merchant contingent. To release a remaining order amount, you will have to send a Capture with an amount of 0.
Klarna Discounts
Klarna supports transmit of Discount Data, these Data can be send on either order level oder item level.
For further information about this topic please visit the official Klarna Documentation.
IXOPAY assumes to receive the correct Discount relevant Data and wont apply any validation to it.
If your send that Data dont fit the Klarna convention you might be served with an Klarna provided Error.
On Order Level
To achieve an Order Level Discount, you will have to send an Item with the type 'discount'.
Submerchant fields (must be enabled for the account)
Name
Type
Required
Description
extraData.submerchantIdentifier
string
conditional
mandatory when sending submerchant data
extraData.submerchantTradingname
string
conditional
mandatory when sending submerchant data
extraData.submerchantRegisteredName
string
false
extraData.submerchantBankIndustryCode
string
false
extraData.submerchantEmail
string
false
extraData.submerchantPhone
string
false
extraData.submerchantCity
string
false
extraData.submerchantCompany
string
false
extraData.submerchantCountry
string
false
extraData.submerchantPostcodeZip
string
false
extraData.submerchantStateProvince
string
false
extraData.submerchantStreet
string
false
extraData.submerchantStreet2
string
false
extraData.orderReference
string
false
Order identifier (max 40 characters)
MasterPayment
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
iFrame Form & payment.js Integration
All
Sofortüberweisung
Full-Page Redirect
Debit only
Additional Parameters
none
MocoPay
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Direct Carrier Billing (SMS)
Redirect & iFrame Form
Debit only
PayByCall
Redirect & iFrame Form
Debit only
Additional Parameters
none
Mollie
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
Full-Page Redirect
All
Paysafecard
Full-Page Redirect
All
Bancontact
Full-Page Redirect
All
Belfius
Full-Page Redirect
All
KBC
Full-Page Redirect
All
PodiumCadeaukaart
Full-Page Redirect
All
Sofortüberweisung
Full-Page Redirect
All
iDeal
Full-Page Redirect
All
BankTransfer
Full-Page Redirect
All
SEPA Direct Debit
Full-Page Redirect
All
BitCoin
Full-Page Redirect
All
Additional Parameters
none
MpGateway
The required currency is EUR (Euro).
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Bancontact
Full-Page Redirect, HPP(iFrame)
Debit, Refund, Capture, Void, Preauthorize
Additional Parameters
Name
Type
Required
Description
Success URL
string
true
Success notification URL
Error URL
string
true
Failure notification URL
Cancel URL
string
true
Cancel notification URL
extraData.isMobile
boolean/null
false
If the value is true - customer will be redirected to the the page with the button which leads directly to the Bancontact mobile application to finish the transaction
MpGateway Pci
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Credit card
HPP & payment.js Integration
All
Additional Parameters
Parameter
Type
Mandatory
Description
extraData.tax
String
No
MultiSafePay
Following features has to be enabled from your Multisafepay Account Manager
0 Cent Authorization if you want to use register without the pre-authorization / void workflow
Flexible 3ds if you want to control when the user has to 3DS authenticate
If you want to use Multisafepay SDD without redirect please activate "useDirectType" option on the connector.
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
Full-Page Redirect, payment.js Integration
All
DotPay
Full-Page Redirect
All
GiroPay
Full-Page Redirect
All
Sofortüberweisung
Full-Page Redirect
All
iDeal
Full-Page Redirect
All
BankTransfer
Full-Page Redirect
All
SEPA Direct Debit
Full-Page Redirect, Direct Payment
All
Additional Parameters
Parameter
Description
extra.descriptor
If the dynamic descriptor is activated you can set the descriptor for the payment
customer.firstName
Required for initial SDD Direct Payment
customer.lastName
Required for initial SDD Direct Payment
paymentData.ibanData.iban
Required for initial SDD Direct Payment
paymentData.ibanData.mandateId
Optional
Neteller
To fully set up the Neteller Connector you will have to fulfill the following (mandatory) steps:
Enter your Private Key Username & Private Key Password in the "Extra Data" Fields. (Merchants / User / Connectors / Neteller / Config / Extra Data).
You can retrieve your Private and Public keys via the NETELLER Merchant Dashboard (Developer / Apps; You might need to "Add application")
Copy the Username & Password from the Section "PRIVATE Key".
You can retrieve your Webhook URL via the Connector Settings (Merchants / User / Connectors / Neteller / Base Data / Notification Url).
Send them the given "Notification URL".
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Neteller
Full-Page Redirect
Debit
Neteller
No interaction
Payout
Additional Parameters
Key
Mandatory
Values
Validation
Description
Customer - Identification
true
string
length<=150
Unique customer identification. The email address of the customer who is making or receiving the payment.
Transaction - Description
true
string
length<=150
Description of the Item.
Customer details verification
Customer details verification is used verify that the member's account information in the NETELLER system corresponds to the member's information in Merchant system
Customer verification is done with each Debit transaction
business_transactioncode x3 or x4 provided by Oney.
Pre-Authorise: Additional Parameters
The following extraData fields are mandatory for the pre-authorization (purchase) request:
Parameter
Allowed values
Description
extraData.deliveryDate
yyyy-MM-dd
Must be greater or equal to today's date.
extraData.deliveryModeCode
Refer to Oney API docs.
extraData.deliveryOption
Refer to Oney API docs.
extraData.deliveryAddressType
Refer to Oney API docs.
extraData.deliveryPriorityDeliveryCode
Refer to Oney API docs. Mandatory if extraData.deliveryOption is 3.
items.item.extraData.isMainItem
Refer to Oney API docs.
items.item.extraData.categoryCode
Refer to Oney API docs.
customer.extraData.languageCode
Refer to Oney API docs.
customer.extraData.honorificCode
1,2,3
Refer to Oney API docs.
customer.extraData.pickupPointName
Name of delivery point (shop name,...). Mandatory if extraData.addressType is either 1,2 or 3.
The following extraData fields are optional for the pre-authorization (purchase) request:
Parameter
Allowed values
Description
customer.extraData.taxpayerCode
Refer to Oney API docs.
Refund & Void: Additional Parameters
Additional Information for Refund:
[RULES FRANCE ONLY]
• payment_amount field can contain a value lower than the initial payment.payment_amount value (sent with the payment request).
• Only one confirm call per payment is possible (the call cancels the rest of the order)
• Between 00h00 et 04h00 it is not possible to confirm an amount different than the original amount of
the payment request.
• In case of error during partial or total confirm, the payment goes from FAVORABLE to REFUSED
[RULES OTHER COUNTRIES (PT, RO, IT, BE, SP)]
• payment_amount field can contain a value lower than the initial payment.payment_amount value (sent with the payment request).
• Several confirm call per payment are possible (no limit)
• The customer will be charged only when the total amount will be confirmed
• Each call must have an item_list according to the goods ready to be shipped.
• Each confirm call will generate a transfer to the merchant regarding the amount confirmed
The following extraData fields are mandatory for the refund request:
Parameter
Allowed values
Description
extraData.purchaseCancellationReasonCode
0, 1
Refer to Oney API docs.
extraData.purchaseRefundDownPayment
true, false
Mandatory if extraData.purchaseCancellationReasonCode is 1. Refer to Oney API docs.
The overall retail charge for the quantity of items An integer number in the lowest denomination in the currency being used (e.g. 1034 indicates $10.34)
↳itemGroup
string
false
A group level description if available
↳itemGroupCode
string
false
If a group has an internal code that may be used to refer to it, it can be supplied
Options Request
Get Configured Min Max Purchase Price
In order to get the configured Min and Max purchase price range an
Options Request is required.
Please use minMaxPrice as an identifier e.g. POST /options/{apiKey}/minMaxPrice.
You can find more information about the options request here: Options Request
Paygate PCI
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
HPP & payment.js Integration
Debit, Refund
Required Parameters
Parameter
Mandatory
Description
description
Yes
extraData.serviceType
Conditional
Default value can be set on connector config
Pago46
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Pago46
Full-Page Redirect
Debit
Additional Parameters
none
Options Request
Paying an Agent (sandbox only)
In order to mock the event on the sandbox that a customer has payed an agent an
Options Request is required. Use payAgent as
identifier and pass the adapter's transaction ID in the transaction parameter.
Paygate
Payment methods
Payment Method
Transaction Flows
Transaction Types
SID_EFT
Full-Page Redirect
Debit, Refund
DPO Pay mobile
Full-Page Redirect
Debit, Refund
Mandatory Parameters
Name
Type
Required
Description
amount (Transaction)
string
true
Total amount in the selected currency. No more than 2 digits after the comma
currency (Transaction)
string
true
3 letter currency code
description (Transaction)
string
true
The description of the payment made
Data levels
Name
Required
Description
Transaction
true
Contains all the basic transaction information
Allocations
false
Contains all the information regarding the allocation of money received from transaction to be paid to other providers in Direct Pay Online system. If this level is not sent, the system will allocate all the money from this transaction to the provider
Additional
false
Contains an option to block specific payment options in the transaction (for example, on an application which needs fast payment, block off Direct Pay Online bank payment)
Travelers
false
Contains information regarding travelers (passengers / guests) which will a process in Direct Pay Online system to verify that one of the payers name matches the name of one of the travelers
ExtraData Parameters
ExtraData fields for different levels. If level is not mandatory then fields are also not required until you specify it.
If extraData value has [i] - it means that multiply object could be mapped. [i] - should always start with 1. It should be used even if you are mapping only one object
Name
Type
Required
Description
Level
extraData.companyRefUnique
string
false
Company reference number, i.e also referred to as Booking ref
Transaction
extraData.demandPaymentByTraveler
Boolean(1/0)
false
If marked as 1, the system will require one of the travelers which are included in the travelers tag to be the payer
Transaction
extraData.emailTransaction
string
false
If marked as 1, the system will send the customer an e-mail about the transaction with a link to pay
Transaction
extraData.companyAccRef
string
false
Internal accounting reference number
Transaction
extraData.userToken
string
false
To define who created the transaction
Transaction
extraData.defaultPayment
string
false
The code of the default payment option (the one to be displayed first in the payment page), options: CC - Credit card, MO - Mobile, PP - PayPal, BT - Bank transfer, XP - xPay
Transaction
extraData.defaultPaymentCountry
string
false
Should be used only for Mobile default payment. Name of the default country for the payment option (DefaultPayment will work without this option too)
Transaction
extraData.default_PaymentMNO
string
false
Should be used only for Mobile default payment. Name of the default MNO (mobile network operator) for the payment option (DefaultPayment will work without this option too)
Transaction
extraData.transactionToPrep
Boolean(1/0)
false
Will mark the transaction as Marketplace Prep
Transaction
extraData.voidable
Boolean(1/0)
false
If this tag sent, transaction will be checked in scoring process, if 0 and scoring above high risk/very high risk then will be blocked, if 1 then will go to a check by DPO support team
Transaction
extraData.TRANSblockCountries
Boolean(1/0)
false
transaction block countries
Transaction
extraData.allocationCode[i]
string
true
The code of the other provider to allocate money to
Allocations
extraData.allocationAmount[i]
string
true
The allocated amount
Allocations
extraData.allocationServiceType[i]
number
true
Allocation service type from list of services
Allocations
extraData.allocationServiceDescription[i]
string
false
Allocation description
Allocations
extraData.allocationInvoice[i]
string
false
Invoice of the allocation
Allocations
extraData.allocationPnr[i]
string
false
Pnr of the allocation
Allocations
extraData.travelerFirstName[i]
string
true
Traveler first name
Travelers
extraData.travelerLastName[i]
string
true
Traveler last name
Travelers
extraData.travelerPhone[i]
string
false
Traveler phone number
Travelers
extraData.travelerPhonePrefix[i]
string
false
Traveler number prefix (without +)
Travelers
extraData.aafTicketType
string
false
Ticket Type
AdditionalAirlineFields
extraData.aafDocumentType
string
false
Document Type
AdditionalAirlineFields
extraData.aafDateIssued
DateTime
true
Date Issued
AdditionalAirlineFields
extraData.aafIATACarrierCode
IATA
true
IATA Carrier Code
AdditionalAirlineFields
extraData.aafIATATravelAgencyNbr
IATA
false
IATA Travel Agency Number
AdditionalAirlineFields
extraData.aafTicketCarrierName
string
false
Ticket Carrier Name
AdditionalAirlineFields
extraData.aafTicketIssuerCityName
string
false
Ticket Issuer City Name
AdditionalAirlineFields
extraData.aafPassengerCount
number
false
Number of Passengers
AdditionalAirlineFields
extraData.aafConjTicketIndicator
string
false
Conjunction Ticket Indicator
AdditionalAirlineFields
extraData.aafElecTicketIndicator
string
false
Electronic Ticket Indicator
AdditionalAirlineFields
extraData.aafTicketNumber
string
true
Exchanged/Original Ticket No or PNR
AdditionalAirlineFields
extraData.flightDescription[i]
string
true
The description of the payment made
AdditionalAirlineFields.FlightLeg
extraData.flightType[i]
string
true
Service type number according to the options accepted from DPO
AdditionalAirlineFields.FlightLeg
extraData.flightDate[i]
DateTime
true
Service date of the booked service Format: YYYY/MM/DD HH:MM
AdditionalAirlineFields.FlightLeg
extraData.flightFrom[i]
IATA
true
3 letters departure airport code
AdditionalAirlineFields.FlightLeg
extraData.flightTo[i]
IATA
true
3 letters destination airport code
AdditionalAirlineFields.FlightLeg
extraData.flightRef[i]
string
false
Service Reference
AdditionalAirlineFields.FlightLeg
extraData.carrierCode[i]
IATA
true
IATA carrier code
AdditionalAirlineFields.FlightLeg
extraData.serviceClass[i]
string
true
Service Class
AdditionalAirlineFields.FlightLeg
extraData.flightNumber[i]
string
true
Flight Number
AdditionalAirlineFields.FlightLeg
extraData.fareBasisCode[i]
string
true
Fare Basis Code
AdditionalAirlineFields.FlightLeg
extraData.stopOverCode[i]
string
true
Stop Over Code
AdditionalAirlineFields.FlightLeg
extraData.aafTravelerFirstName[i]
string
true
First name
AdditionalAirlineFields.Traveler
extraData.aafTravelerLastName[i]
string
true
Last name
AdditionalAirlineFields.Traveler
extraData.aafTravelerPhone[i]
string
false
Phone number
AdditionalAirlineFields.Traveler
extraData.aafTravelerPhonePrefix[i]
number
false
Phone number prefix (without +)
AdditionalAirlineFields.Traveler
extraData.aafTravelerDateOfBirth[i]
DateTime
false
Traveler Date Of Birth
AdditionalAirlineFields.Traveler
extraData.aafTravelerCountryCode[i]
string
false
Traveler Country Code
AdditionalAirlineFields.Traveler
Paygent
Adapter Configuration
Merchant ID and Hash Code Generation Key are provided by Paygent
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Bank Transfer
Redirect
Debit
Extra Data
Bank Transaction:
No extra data to add, but please notice that the customer first and last name and the company name must be in Japanese [none of them is mandatory to fill in], otherwise an error will happen.
For multiple goods, add more Items, but notice only Item Name and Item Price are counted
Bank Transfer accepts only JPY as a currency, and the amount should be an integer (decimals will be rounded to integers).
The following parameters are only required for One-off transactions or initial recurring transactions.
On recurring transactions the value of the referenced transaction will be used if not explicitly set.
Netbanking
Extra data
Mandatory
Description
customer.billingPhone
Yes
customer.firstName
Yes
customer.lastName
Yes
customer.email
Yes
customer.extraData.bank_code
Yes
The customers bank code
customer.extraData.account_number
Conditional
Only required for initial recurring transactions
customer.extraData.account_type
Conditional
Only required for initial recurring transactions
customer.extraData.start_date
Conditional
Only required for initial recurring transactions
customer.extraData.end_date
Conditional
Only required for initial recurring transactions
UPI
Extra data
Mandatory
Description
customer.billingPhone
Yes
customer.firstName
Yes
customer.email
Yes
customer.extraData.vpa
Yes
The customers vpa
PayTM, PhonePe, PayZapp
Extra data
Mandatory
Description
customer.billingPhone
Yes
customer.firstName
Yes
customer.email
Yes
PayOn
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
iFrame Form & payment.js Integration
All + Incremental Authorizations
Additional Parameters
Name
Type
Required
Description
extraData.shipFromZip
string
false
items[].extraData.customsTax
string
false
Payone
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Credit card
payment.js, Redirect & iFrame Form
all
Payoneer
In order to use the Payoneer Adapter, you will have to contact Payoneer to register
a Backdirect Uri of the Gateway to your Payoneer Account.
In order to process via Payoneer you will have to generate unique ID that you register your clients with, this ID is known as the Payoneer Payee Id.
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Payoneer
Full-Page Redirect
Debit, Payout, Refund
Additional Parameters
Key
Mandatory
Values
Validation
Description
description
true
string
max. 255 characters
The description is required for a Payoneer Transaction
payeeId
true
string
max. 50 characters
The Payoneer Payee Id is a unique ID that the Merchant has so generate in order to register or reference the individual client
PayPal
Payment Methods
Payment Method
Transaction Flows
Transaction Types
PayPal
Full-Page Redirect
All
PayPal Payment Types
PayPal supports different kind of payments:
Sale: Will charge the user for the full amount of the transaction
Authorization: Only authorizes the user's payment instrument. This needs afterwards to be captured with a Capture request
Order: Only gets consent from user for this particular order. No funds will be authorized
A Debit will always use the Sale type. A Preauthorize will by default use the Authorization type.
You can control the behavior for Preauthorize by sending the paypalPaymentAction parameter (see below).
Additional Parameters
You can use the following extraData keys, which will be passed in the corresponding fields to PayPal:
Key
Values
Description
paypalPaymentAction
"Authorization", "Order", "Order_Auth", "Sale"
Only for Preauthorize transactions. Defines "PaymentAction" for PayPal payments. "Order_Auth" automatically performs an Authorization for full amount after Order has been confirmed by customer
addressOverride
0 or 1
Tells PayPal to use the shipping address you are providing instead of the customer's configured address in the PayPal account
noShipping
0, 1, 2
0 = Display Shipping address, 1 = No Shipping address (digital goods), 2 = Use customer's configured shipping address
noteToBuyer
string
a note displayed to the customer
requiredConfirmShipping
true, false
Refer to PayPal documentation
noShipping
0, 1, 2
0 = Display, 1 = No display, 2 = Buyers account
allowNote
true, false
Refer to PayPal documentation
localeCode
Refer to PayPal documentation
pageStyle
Refer to PayPal documentation
hdrImg
Refer to PayPal documentation
payflowColor
Refer to PayPal documentation
cartBoardColor
Refer to PayPal documentation
logoImg
Refer to PayPal documentation
solutionType
"Sole", "Mark"
Refer to PayPal documentation
landingPageType
"Billing", "Login"
Refer to PayPal documentation
channelType
"Merchant", "eBayItem"
Refer to PayPal documentation
totalType
"Total", "EstimatedTotal"
Refer to PayPal documentation
brandName
Refer to PayPal documentation
customerServiceNumber
Refer to PayPal documentation
giftMessageEnable
Refer to PayPal documentation
giftReceiptEnable
Refer to PayPal documentation
giftWrapEnable
Refer to PayPal documentation
giftWrapName
Refer to PayPal documentation
giftWrapAmount
Refer to PayPal documentation
buyerEmailOptInEnable
Refer to PayPal documentation
taxIdType
Refer to PayPal documentation
taxId
Refer to PayPal documentation
Items
If submitting items, the following fields are Mandatory:
Please note, that a register transaction only makes sense to be used with followed payout transactions and not for referencing debit transactions, as the latter require the customer to be redirected to PerfectMoney for re-authentication purposes on each follow up debit.
That is different to all other Register -> Debit/Preauth flows on other adapters.
Mandatory Parameters
amount
currency
description
Additional parameters on debit
Extra data
Mandatory
Description
availablePaymentMethods
no
When using the PerfectMoney wallet payment method, this makes it possible to make only specific payment methods available. Comma separated list of account,voucher,sms,wire,all
forcedPayerAccount
no
If you want to restrict the Payer to use a specific account you know, provide the account id here E.g. U1234567
baggageFields
no
Comma separated list of extra data keys, which values you would like to forward to PerfectMoney. All fields presented here become mandatory. E.g. baggageFields=systemId
BAGGAGE-PARAM1
conditionally: if provided within extra.baggageFields yes
Comma separated list of extra data keys, which values you would like to forward to PerfectMoney. All fields presented here become mandatory. E.g. baggageFields=BAGGAGE-PARAM1,..
....
conditionally: if provided within extra.baggageFields yes
any key value pair you want to forward to PerfectMoney
success URL
no
To where the shopper should be back-directed after a successful payment
error URL
no
To where the shopper should be back-directed in case of an error or customer cancellation
Additional parameters on register
Extra data
Mandatory
Description
accountId
no
The account id of the PerfectMoney account the customer want's to use. If not supplied, the customer has to enter it, after being redirected to the returned redirect URL.
accountName
no
If provided, this accountName will be compared (case-insensitive) against the PerfectMoney account name associated with the accountId.
accountFullName
no
If provided, this accountFullName will be compared (case-insensitive) against the PerfectMoney account full name associated with the accountId.
accountPhonenumber
no
If provided, this accountPhonenumber will be compared (case-insensitive) against the PerfectMoney account phonenumber associated with the accountId.
requireVerifiedAccount
no
If provided, the register transaction will only succeed, if the PerfectMoney account details are currently verified though the PerfectMoney KYC checks.
success URL
no
To where the shopper should be back-directed after a successful payment
error URL
no
To where the shopper should be back-directed in case of an error or customer cancellation
If you want to validate the PerfectMoney account data: accountName, accountFullName, accountPhonenumber, requireVerifiedAccount, your PerfectMoney account has be enabled to return those details.
Please request that from your account manager at PerfectMoney.
Additional parameters on payout
Extra data
Mandatory
Description
payeeAccount
yes (if not referencing a register transaction)
The PerfectMoney account id the funds will be transferred to
code
no
Provide to enable transfer protection. If code is present, payee must enter this code to get money to his/her account.
codeValidDays
If code is provided yes.
Number of days you want the transfer with protection code to be valid. If payee does not enter the protection code during this period, money will be transferred back to your account. Must be integer value from 1 to 365 days.
If the payout references a register transaction, it depends on the extra data provided on the initial register transaction, if the current PerfectMoney account details should be compared to those.
For example if the extra data requireVerifiedAccount has been provided, all follow up payouts require the current verification status to be verified.
If that is not the case, the payout fails.
If additional extra data fields (accountName|accountFullName|accountPhonenumber) have been provided initially, they also have to match the current returned PerfectMoney account details.
If they do not, the payout fails.
Be aware that there is a format restriction for the required Parameter "DS_MERCHANT_ORDER",
which represents the given "MerchantTransactionId".
Please consult the official Redsys Api Documentation
for further information - (https://pagosonline.redsys.es/conexion-rest.html)
Connector Config (Vault Setup) - CreditCard
Key
Mandatory
Type
Description
Terminal Id
true
string
A fixed value given by Redsys for each Merchant
Merchant Id
true
string
A fixed value given by Redsys for each Merchant
Key to perform 3DES Card encryption
conditional
string
A fixed value given by Redsys for each Merchant
Key to sign MerchantParameters
conditional
string
A fixed value given by Redsys for each Merchant
Username to load stored Production Credentials
conditional
string
Username that is given by Ixopay in case “Key to perform 3DES Card encryption” is stored internally at Ixopay
Password to load stored Production Credentials
conditional
string
Password that is given by Ixopay in case “Key to perform 3DES Card encryption” is stored internally at Ixopay
Prioritize Description Field over MerchantTransactionId Field
false
boolean
In case that the “Description” Field, send in the Request, should be used instead of the “MerchantTransactionId” Field
Assign Timestamp to empty Description Field
false
boolean
In case that the “Description” Field should be automatically filled with the current Timestamp. Works in conjunction with the “Prioritize Description Field over MerchantTransactionId Field” Option.
Note: If the options Prioritize Description Field over MerchantTransactionId Field & Assign Timestamp to empty Description Field are enabled simultaneously the first 6 characters of the respective Transaction are appended to the timestamp to ensure uniqueness.
The number represents the number of months for the installments payment
extraData.delay
true
to delay the capture, (entered when creating Preauthorize)
extraData.period
numerical between [] and
the period of that's wished to extend the capture expiry time (When creating a Preauthorize)
Additional Information
it's mandatory to add items to the Debit, Preauthorize transactions where Item Description represents the "category", and the Item Identification represents the "sku".
SCB
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Bank Transfer
Full-Page Redirect & Server-to-Server
Register & Debit
Additional Parameters
Parameter
Transaction Types
Description
language
Optional: register & debit
Language of shopper. Possible values: TH and EN (default)
additionalId1
Required: register
Merchant reference
additionalId2
Optional: register
Merchant reference
Description
Optional: register
Option description, passed on during register
national ID (customer)
Optional: register
Citizen ID
success URL
Required: register
URL to where the shopper will be back-directed to the merchant
error URL
Optional: register
URL to where the shopper will be back-directed to the merchant (defaults to success URL if not present)
iban (customer)
Depending: debit
Bank account to charge; alternatively it's possible to provide a reference to a register TX
identification (customer)
Optional: debit
Merchant's customer identifier
SecureTrading
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
iFrame Form
All
Cash-To-Code
iFrame Form
Debit only
Additional Parameters
none
SepaExpress
Payment Methods
Payment Method
Transaction Flows
Transaction Types
DirectDebit
iFrame Form & Server-To-Server
Debit, Register, Deregister, Refund
CreditTransfer
iFrame Form & Server-To-Server
Payout
Depending on your setup SepaExpress can be used as Server-to-Server only integration, or
with an iFrame Payment form.
For the Server-to-Server integration the IBAN must be sent within the customer details, otherwise the customer
will enter its IBAN within the iFrame form.
Additional parameters
additionalId1: must contain the Order ID. One Order ID can contain more than one transaction! Relevant for SEPAexpress to detect the sequence of the transaction and for refunds. Allowed pattern ([A-Za-z0-9]|[+|\?|/|\-|:|(|)|.|,|']){1,50}
additionalId2: for recurring transactions it must contain the Contract ID: A unique identifier of the user or contract of the user on merchant level. One Contract ID can contain more than one Order IDs! Relevant to detect the sequence of the transaction.
Depending on your setup SepaExpressV2 can be used as Server-to-Server only integration, or
with an iFrame Payment form.
For the Server-to-Server integration the IBAN must be sent within the customer details, otherwise the customer
will enter its IBAN within the iFrame form.
Additional parameters
Key
Values
Description
customer.iban
string
Mandatory if no reference transaction provided.
customer.bic
string
Optional
customer.firstName
string
Mandatory if no company is provided
customer.lastName
string
Mandatory if no company is provided
customer.company
string
Optional
customer.bic
string
Optional
description
string
Mandatory for payouts.
extraData.checkAmount
float
Mandatory for register calls.
extraData.checkCurrency
string (3 letter currency code)
Mandatory for register calls.
extraData.approvalBy
string
Optional, currently allowed values: click, sms, email, ais
Depending on your merchant account, additional parameters might be mandatory.
SIX ELink
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
iFrame Form & payment.js Integration
All
Additional Parameters
If the dynamic descriptor is enabled, it is possible to set the descriptor with the extra parameter extraData.descriptor.
IXOPAY also supports final capture, for this you have to send the extra parameter extraData.captureType - final.
Skrill
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Skrill
Full-Page Redirect
Debit, Refund, Payour
Additional Parameters
Key
Values
Description
extraData.companyName
string
Display name on the payment page
extraData.subject
string
for Payouts: Subject of the notification email (250 1-byte characters)
extraData.note
string
for Payouts: Comment to be included in the notification email (max 2000 1-byte characters)
Customer details verification
The customer verification service is used to check if a customer, identified by an email address, is registered with Skrill
Parameters for Customer details verification
Name
Type
Required
Description
email
string
Yes
The customers email
firstName
string
No
The customers first name
lastName
String
No
The customers last name
dateOfBirth
string
No
The customers date of birth
postCode
string
No
The customers postal code or zip code
country
string
No
The customers 2-code country of residence.
Sofort
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Sofortüberweisung
Full-Page Redirect
Debit only
iDeal
Full-Page Redirect
Debit, Refund*
*Refund is only available in BE, NL
Additional Parameters
iDeal debit
Parameter
Required
Description
customer.bic
Yes
Bankcode of customer*
customer.billingCountry
Yes
Customer country
description
Conditional
Required if reason1 is not given, max. 27 characters
extraData.reason1
Conditional
Required if description is not given, max. 27 characters
extraData.reason2
Optional
Can be given additional to reason1, max. 27 characters. If both reasons are given, their total number of characters must not exceed 31 characters
*For the BIC you may do an Options Request using the identifier iDealBankList. It will
return a list of available banks for iDeal which you should render to let the customer pick a bank. You should then
pass the selected bank code as bic element inside IbanCustomer.
iDeal refund
Parameter
Required
Description
extraData.reason1
Optional
max. 27 characters, if none given it uses the description of the initial transaction
extraData.reason2
Conditional
Can be given additional to reason1, max. 27 characters. If both reasons are given, their total number of characters must not exceed 31 characters
Spreedly
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
iFrame Form & payment.js Integration
All
Additional Parameters
none
Stripe
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
payment.js Integration
All
Giropay
Full-page Redirect
Debit
iDeal
Full-page Redirect
Debit
Sofort
Full-page Redirect
Debit
Bancontact
Full-page Redirect
Debit
DirectDebit
Server-to-Server
Register, Debit, Refund
Pre-Authorized debit (ACSS)
Full-page Redirect & Server-to-Server
Register, Debit, Refund
ACH
Full-page Redirect & Server-to-Server
Register, Debit, Refund
ACH Credit Transfer
Server-to-Server and push-in transactions
Register, Debit (pushed via Stripe's Webhook), Refund
Additional Parameters
ACSS/Pre-Authorized debit ("PAD")
Prior being able to charge the customer, the merchant must verify that the
account is owned by the customer and obtain a mandate.
This may be either achieved with a successful Register transaction or a
Debit transaction with the withRegister flag set.
Additionally, the merchant is required to pass on the following data when trying
to acquire the initial mandate.
Transaction fields
Mandatory
Description
customer.email
Yes
customer.firstName
Yes
customer.lastName
Yes
extraData.acss_transaction_type
Yes
The type of the mandate. Valid values are personal (B2C) and business (B2B)
extraData.acss_payment_schedule
Yes
The Payment schedule for the mandate. Valid values are spoardic, interval or combined
extraData.acss_interval_description
Yes, if extraData.acss_payment_schedule is interval or combined
A description, based on which criteria the interval-related payments may be triggered (refer to Stripe's documentation).
For subsequent transactions, these data are not required anymore.
ACH
Prior being able to charge the customer, the merchant must verify that the
account is owned by the customer and obtain a mandate.
This may be either achieved with a successful Register transaction or a
Debit transaction with the withRegister flag set.
Additionally, the merchant is required to pass on the following data when trying
to acquire the initial mandate.
Transaction fields
Mandatory
Description
customer.email
Yes
customer.firstName
Yes
customer.lastName
Yes
For subsequent transactions, these data are not required anymore.
ACH Credit Transfer
In order to provision and retrieve a VBAN from Stripe, send a Register
transaction. The bank data are returned in the response object.
Transaction fields
Mandatory
Description
customer.email
Yes
for register transactions
Straight2Bank
Payment Methods
Payment Method
Transaction Flows
Transaction Types
FPX
Full-Page Redirect
Debit
DuitNow QR
Full-Page Redirect
Debit
PayNow
Full-Page Redirect
Debit
Enets
Full-Page Redirect
Debit
MoMo
Full-Page Redirect
Debit
VNPAY
Full-Page Redirect
Debit
BillDesk
Full-Page Redirect
Debit
BillDeskWallet
Full-Page Redirect
Debit
UPI
Full-Page Redirect
Debit
UPIQR
Full-Page Redirect
Debit
Additional Parameters
Parameter
Mandatory
Description
customer.billingCountry
Conditional
Default value can be set on connector config
extraData.ref1
No
Straight2Bank ref1
extraData.ref2
No
Straight2Bank ref2
Stuzza
Payment Methods
Payment Method
Transaction Flows
Transaction Types
EPS
Redirect
Debit only
Additional parameters
Extra data
Mandatory
Description
bank_bic
No
BIC to identify the bank to use for the transaction
If no bank_bic is given, the user will be redirected to the Stuzza bank selection page.
You can use your own bank selection page by using the bank_bic value. To do this you can retrieve the bank list via the Options request identifier epsBankList. You can display this list to your customer in order to pre-select the desired bank.
The result contains a list of banks available for EPS, with BIC code as key and bank name as value. The BIC code of the chosen bank should then be passed via extra data value bank_bic.
You can find more information about the options request here: Options Request
TabaPay
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
payment.js, Redirect & iFrame Form
only debit, refund and payout
Additional Parameters
none
TECS
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Creditcard
Server-To-Server
Refund only
Additional Parameters
none
Tikkie
Payment Methods
Payment Method
Transaction Flows
Transaction Types
BankTransfer
Full-Page Redirect, QR-Code with Redirect
Debit, Refund
Mandatory Parameters
Transaction fields
Mandatory
Description
description
Yes
Mandatory for all requests
TNG
Payment Methods
Payment Method
Transaction Flows
Transaction Types
TNG
pushed by provider
Debit
Additional Parameters
none
Options Request
Obtaining a QR code
In order to generate a QR code which shall be displayed by the payer in the app,
an Options Request is required. Use requestTopupCode
as identifier and pass the customer's ID in the customerId parameter.
Transact.eu
Payment Method
Transaction Flows
Transaction Types
MPI
Creditcard
Hosted Payment Page & payment.js Integration
Preauthorize, Charge, Refund, Void, Payout
IXOPAY MPI
Cards vaulted with Transact.eu can only be charged but not preauthorized.
TransferWise
Payment Methods
Payment Method
Transaction Flows
Transaction Types
BankTransfer
Server-To-Server
Payout
Additional Parameters
Parameter
Mandatory
customer.firstName
yes
customer.lastName
yes
Additional Parameters depending on source and target currency
Depending on the source and target currency, different parameters may be necessary
or different parameter values may be available. If your wanted currency is not listed, kindly contact support.
Enumerations = Checking, Savings, Corporate, or Corp Savings
↳extraData.accNum
string
true
The account number of the Direct Debit account.
↳extraData.routingNum
string
true
The routing number of the Direct Debit account
↳extraData.orderSource
string / enum
false
Defines the order entry source for the type of transaction. (Default = ecommerce), Enumerations = 3dsAuthenticated, 3dsAttempted, echeckppd, ecommerce, installment, mailorder, recurring, retail, telephone, recurringtel, applepay, androidpay
↳extraData.reportGroup
string
false
Required attribute that defines the merchant sub-group in the user interface where this transaction will be displayed. (Default = defaultGroup)
↳extraData.descriptor
string
false
The billing descriptor to appear on the bank statements. Maximum length is 15 characters.
Refund & Void
Field
Type
Required
Description
amount
string
false
If the Transaction was already settled and no amount was given, the full Transaction will be refunded. If the amount is given and its value is < than the original transactions amount, a partial Refund will be triggered.
Required attribute that defines the merchant sub-group in the user interface where this transaction will be displayed. (Default = defaultGroup)
VOLT
Payment Methods
Payment Method
Transaction Flows
Transaction Types
BankTransfer
Hosted Payment Page, Embedded checkout
Debit, Refund, Partial refund
Pix
Redirect
Debit, Refund
Additional Parameters
Parameter
Allowed values
Description
extraData.language
bg, ce, de, en, es, fr, hr, it, lt, lv, nl, pl, pt, ro, sl, sk
Defines the language of the Volt Payment Page. Default is en
customer.billingCountry
AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SE, SI, SK
If provided with one of the following parameter the bank country will be preselect. If its not one of the predefined the customer will just have to select the bank themself
extraData.bank_id
ID received from option call*
Redirects to the customer directly to his bank information without the need to select a bank on VOLT side
extraData.type
BILL, GOODS, PERSON_TO_PERSON, OTHER, SERVICES
Transaction Type, default is OTHER
extraData.beneficiary_name
EUR and GBP! Available if dynamic beneficiary is activated in the connector settings
extraData.beneficiary_iban
EUR only! Available if dynamic beneficiary is activated in the connector settings
extraData.beneficiary_swift
EUR only! Available if dynamic beneficiary is activated in the connector settings
extraData.beneficiary_account_number
GBP only! Available if dynamic beneficiary is activated in the connector settings
extraData.beneficiary_sort_code
GBP only! Available if dynamic beneficiary is activated in the connector settings
customer.extraData.documentId
Can be 11 or 14 digits long and the type has to be String.
Available if sendPayerData is activated in the connector settings.
customer.reference
Available if sendPayerData is activated in the connector settings. Is mandatory if costomer.email or customer.name or customer.ip is set.
customer.email
Available if sendPayerData is activated in the connector settings. If set the customer.reference will be mandatory.
customer.name
Available if sendPayerData is activated in the connector settings. If set the customer.reference will be mandatory.
customer.ip
Available if sendPayerData is activated in the connector settings. If set the customer.reference will be mandatory.
Returns a list of available banks with there id that can be used for the bank_id
Vyne
Payment Methods
Payment Method
Transaction Flows
Transaction Types
BankTransfer
Redirect, QR
Debit
Additional Parameters
Parameter
Description
extraData.descriptor
If it is enabled on the connector, you can set your bank descriptor over this parameter.
If the QR Method is used (on connector level), the initial debit call will return an extraData.qrCode field with an URL provided by Vyne to the QR Code to show to the customer.
WeAccept
Payment Methods
Payment Method
Transaction Flows
Transaction Types
Kiosk
Server-to-Server
Debit
Cash Payment
Server-to-Server
Debit
Wallet
Redirect & iFrame
Debit
Additional parameters
Extra data
Mandatory
Description
first name (customer)
Yes
last name (customer)
Yes
email (customer)
Yes
billing phone (customer)
Yes
billingAddress1 (customer)
only for cash payments
billingPostcode (customer)
only for cash payments
billingCity (customer)
only for cash payments
*
billingState (customer)
only for cash payments
*
billingCountry (customer)
only for cash payments
success URL
only for wallet payments
To where the shopper should be back-directed
*) only certain states and cities within Egypt are supported.
Refer to WeAccept's cash annex.
The integration from the Gateway works by default through the redirect flow from ZipPayments.
You can also integrate by using ZIP's Widget solution ("Lightbox Checkbout Library"), but you have to handle the Javascript part on your own.
The Gateway returns you the following extraData values upon the initial Debit or Preauthorize call, which you will need for
the ZIP Widget:
zipId
zipUri
zipRedirectUri
You will have to use these values within the your HTTP endpoint which is called by the ZIP Widget:
{"id":"value of extraData.zipId","uri":"value of extraData.zipUri","redirect_uri":"value of extraData.zipRedirectUri"}