Payment API
Account Details
- Overview
- Create an account
- Update an account
- Get account information
Authorisation Control
- Overview
- Authorisation Control Webhook
Authorisation Forwarding
- Overview
- Forward authorisation webhook
Card details
- Overview
- Create card
- Update card
- Get application
- Update application
- Get card
- Get plastic
- Get EMV scripts
- Update plastic
Customer
- Overview
- Get customer information
- Create a customer
- Update a customer
- Customer hierarchy
Exchange Rates API
- Overview
- Get ECB exchange rate
- Get ECB supported currencies
- Get FX exchange rates
ID
- Overview
- Initiate 3rd party authentication flow
- Callback to complete authentication flow
Instalment
- Overview
- Instalment Controller
Invoice
- Overview
- Get invoice information
- Update invoice information
Notification
- Overview
- Receive a notification
PIN
- Overview
- PIN operations with pre-shared key
- PIN operations using PKI
PIN Control
- Overview
- PIN Control handling
Purchase Details
- Overview
- Trigger repricing
- Get purchase details
- Create purchase details
- Update purchase details
RBA Forwarding
- Overview
- RBA forwarding
Repricing
- Overview
- Create repricing agreements
- Get repricing agreements
- Update repricing agreements
- Create price lists
- Get price lists
- Update price lists
Transaction
- Overview
- Test transactions
- Test authorizations
- Get transaction data
- Create transactions
- Create fees
- Update a transaction
- Batch payment
Transfer API
- Overview
- Post account to account transfer
- Account to account batch transfer
- Post card to card transfer
Wallet
- Overview
- Push Provision
- Activation data
- Get tokens
Test API
- Overview
- test-auth-request-templates
- test-authorizations
Hierarchy API
- Overview
- Card Hierarchy Management
- Card Hierarchy Group Management
- Card Management in Card Hierarchy Groups
Spend Control API
- Overview
- Rule Sets Endpoints
- Rules Endpoints
- Spend Control Test Endpoint
Outgoing authorisation control webhook endpoint
This is not an endpoint. This is the description of a request that is sent to issuers’ decision-making systems
Body
Data of the account linked to the card with which the transaction is done with. Enables the issuer to identify to which account the authorisation is related to.
Unique ID of the account that is linked to the card that is used.
18
Available amount of the account that is linked to the card that is used. This amount does not consider possible spend controls. Note that this amount is only valid for setups where ledger is managed by Enfuce. If ledger is held by issuer, the amount in this field will be zero (0).
The available amount is fetched mid-authorisation process. As the end to end authorisation process takes 0,5-3 sec, there can occur situations where another authorisation, API transaction or financial transaction is processed in parallel which is not reflected in the available. This is however extremely rare.
The amount provided in this field can have a minus sign if the account is overlimit.
Data of the card with which the transaction is done with. Enables the issuer to identify to which card the authorisation is related to.
Data of the customer linked to the card with which the transaction is done with. Enables the issuer to identify to which customer the authorisation is related to.
Unique ID of the customer that is linked to the card that is used.
18
Merchant specific data including acquirer data, merchant data and merchant category.
This code identifies the financial institution acting as the acquirer for the merchant.
This information can be used as one variable to match the authorisation message to purchase receipt data.
While merchantIds are not globally unique, they are expected to be unique per acquirer, so combining merchantId with acquirerId creates a unique identifier of a specific merchant.
11
Merchant category code as per card scheme classification. Merchants classification is done based on the type of business or service they sell.
4
255
CASH
, ATM
, LODGING
, RESTAURANT
, SCHOOL
, RETAIL
, VEHICLE_RENTAL
, PAYMENT_SERVICES
, TRANSPORTATION
, UNIQUE
Indicates if merchant will accept partial approval of amount. E.g. at a fuel pump the initial authorisation might be a predefined flat amount to which the issuer can respond an available amount smaller than the actual authorisation request.
Note that this functionality is only available when card account balance resides at issuer.
The country of the merchants acquirer as a ISO-3166-1 alpha-3 country code. This can be used to identify if transaction is in scope of PSD2 regulation.
The city where the transaction or withdrawal occurs.
13
The country where the transaction or withdrawal occurs as a ISO-3166-1 alpha-3 country code.
A code that uniquely identifies a particular card acceptor, i.e. a merchant or a bank. This information can be used as one variable to match the authorisation message to purchase receipt data. While merchantIds are not globally unique, they are expected to be unique per acquirer, so combining merchantId with acquirerId creates a unique identifier of a specific merchant.
15
Merchant name as conveyed from the card scheme (max 25 characters long). For ATMs this can be a street address or bank branch number. For money transfer transactions there can be the sender name or other transaction related data.
25
The sub-merchant ID is used when merchant ID is not sufficient to identify the merchant. When a merchant uses a payment facilitator, the payment facilitator´s merchant id is transmitted and the merchant can be identified by the sub-merchant ID. This field is only required when merchant uses a payment facilitator.
15
A code that uniquely identifies a particular terminal at the merchant.
This information can be used as one variable to match the authorisation message to purchase receipt data.
8
The metadata includes relevant message and authorisation ids and the message category that identifies the type of authorisation message.
Unique id for authorisation message, but DECLINED_AUTH_ADVICE and APPROVED_AUTH_ADVICE has id of authorisation which they associated with but not unique.
18
The link ID is a number linking all messages connected to the same purchase (authorisation, financial transaction, reversal)
18
Identifies the type of authorisation message:
REQUEST
- requires a decision in the form of an approval or decline. The transaction type indicates if it is a crediting or debiting transaction.REVERSAL_ADVICE
- requires a previously done authorisation to be reversed either fully or partially. Does not require a response from the issuer. The linkId can be used to identify the original authorisation request to be reversed. replacementAmount indicates relevant amounts for partial reversals.SCHEME_ADVICE
- authorisation has been processed and approved by the card scheme. Requires the issuer to block funds as per card scheme advice. Does not require a response from the issuer.ADJUSTMENT
- adjustment of the settlementAmount of a previously made authorisation. Mainly used by automated fuel dispensers and EV chargiong stations to adjust the amount after fueling/charging has ended. Issuer is expected to adjust the settlementAmount of the initial authorisation request, to the settlementAmount of the adjustment. Does not require a response from the issuer.DECLINED_AUTH_ADVICE
- this message category is only available for issuers that do fraud monitoring. It indicates that authorisation has been declined during a validation step at Enfuce. For issuers that do fraud monitoring themselves, these messages could e.g. be authorisation attempts with incorrect PAN (card number) which could indicate an ongoing BIN attack.APPROVED_AUTH_ADVICE
- this message category is only available for issuers that do fraud monitoring. It indicates that authorisation has been approved. For issuers that do fraud monitoring themselves, these messages might be interesting.
REQUEST
, ADJUSTMENT
, SCHEME_ADVICE
, REVERSAL_ADVICE
, DECLINED_AUTH_ADVICE
, APPROVED_AUTH_ADVICE
Unique random-generated id per http message. Can be used by receiver to confirm that no messages has been processed twice.
36
Transaction specific data including amounts and fees, transaction type as well as information about the purchase conditions.
Describes how the card credentials were captured. Possible values:
UNKNOWN
- the message from the merchant did not include a distinct method.MANUAL_ENTRY
- the card credentials were manually entered by the merchant.MAGNETIC_STRIPE_READ
- the magnetic stripe of the card was read by a terminal.CHIP_READ
- the EMV chip of the card was read by a terminalCONTACTLESS
- contactless transactions, i.e. the card credentials were read with near field communication (NFC) either from chip or digital wallet.ELECTRONIC_COMMERCE
- the cardholder entered the card credentials as an e-com merchant.
UNKNOWN
, MANUAL_ENTRY
, MAGNETIC_STRIPE_READ
, CHIP_READ
, CONTACTLESS
, ELECTRONIC_COMMERCE
Indicates if cardholder has been physically present during transaction.
Describes what method was used to verify the cardholder. The verification methods are limited to verification methods that are considered as valid verification methods according to strong customer authentication principles. Possible values:
WALLET
- cardholder has been verified with the digital wallet device.PIN
- cardholder has entered the correct PIN of the card to the payment terminal.BIO
- cardholder has successfully been verified through a biometric method (e.g. fingerprint reader on card).THREE_DS
- cardholder has successfully been verified through 3DS.
WALLET
, PIN
, BIO
, THREE_DS
Indicates that transaction is recurring or merchant initiated. This implies that the cardholder has approved that the merchant initiates the transaction on a regular or frequent basis.
Transaction based fees that are additional fees charged on top of the transaction.
Standard options are MARKUP_FEE
for transactions done in non-domestic currency, ATM_FEE
for ATM withdrawals and CASH_FEE
for cash transactions.
Fees are always presented with positive values in the amount field.
UNKNOWN
is a fallback value that is not expected but in case present represents another transaction based fee not covered by the above options.
Fee Type
MARKUP_FEE
, ATM_FEE
, CASH_FEE
, UNKNOWN
The transaction type.
RETAIL
, ATM
, UNIQUE
, CASH
, CREDIT
, P2P_DEBIT
, P2P_CREDIT
, RETAIL_REVERSAL
, ATM_REVERSAL
, UNIQUE_REVERSAL
, CASH_REVERSAL
, CREDIT_REVERSAL
, P2P_CREDIT_REVERSAL
, P2P_DEBIT_REVERSAL
, RETAIL_WITH_CASHBACK
, RETAIL_WITH_CASHBACK_REVERSAL
Issuer generated code (6-digits) that is returned to the merchant if authorisation is approved. Commonly used as the one of the main variables, in addition to cardId, to uniquely identify a transaction.
This information can be used as one variable to match the authorisation message to purchase receipt data.
6
Response to the authorisation. Indicates to the merchant if the authorisation was approved or declined
Response to the authorisation. Indicates to the merchant if the authorisation was approved or declined.
2
Some merchants are allowed to request for a longer authorisation validity period than the default 7 days. When merchant has requested a longer validity period, this field indicates the amount of days the authorisation should be considered valid.
This field is not present if no deviation from default has been requested.
The amount (in the settlement currency) that the authorisation should be adjusted to in case a merchant makes a reversal. If a merchant makes a full reversal this field can be either missing or have a value of zero. If a merchant makes a partial reversal, this should be considered the actual amount that should be blocked. When a value is provided in this field, it is always positive.
Merchant/acquiring generated reference number for a purchase. Commonly used as the one of the main variables, in addition to cardId, to uniquely identify a transaction. Reference number is expected to remain the same for all messages during the transaction lifecycle (authorisation, clearing, reversals).
This information can be used as one variable to match the authorisation message to purchase receipt data.
12
The local date (and time) when the transaction was made. I.e. the date/time in the time zone in which the payment terminal/merchant is. In date-time format YYYY-MM-DDThh:mm:ss. Please note that the authorisation formats used by card schemes do not support conveying the time zone in which the transaction has been done. The card scheme may also just include the date and no specific time. Enfuce relays the date and time as received from the card scheme.
Data of the token with which the transaction is done with. Enables the issuer to identify if a token was used and what kind.
Used to convey information about the kind of device that has been used for the transaction. For instance: Phone, watch, tablet, wearable.
UNKNOWN_DEVICE
, MOBILE_PHONE
, TABLET
, WATCH
, ANDROID_DEVICE
, ENTERTAINMENT_DEVICE
, HOUSEHOLD_DEVICE
, WEARABLE
, VEHICLE
, E_COMMERCE
Indicates which of the mobile digital wallet has been used. UNKNOWN
can indicate that the card is tokenised at a merchant or another wallet.
APPLE_PAY
, GOOGLE_PAY
, SAMSUNG_PAY
, UNKNOWN
Enfuce assigned unique id for token.
18
Response
Response to the authorisation. Indicates to the merchant if the authorisation was approved or declined. Issuer can use the following response codes:
00
- Approved05
- Do not honor (Note: Card schemes recommend to use this only when other options do not apply)10
- Approved for partial amount (can only be used ifpartialApprovalCapable
istrue
and ledger resides at issuer). Requires that issuer includes thepartialApprovalAmount
51
- Not sufficient funds57
- Transaction not permitted to cardholder61
- Exceeds approval amount limit62
- Restricted card (card invalid in region or country)65
- Exceeds withdrawal frequency limit91
- Issuer unresponsive
Response to the authorisation. Indicates to the merchant if the authorisation was approved or declined.
2
Used when issuer does a partial approval. When the available balance is not sufficient considering the transaction amount, the issuer is expected to block whatever available balance there is and return the amount that can be authorised in the partialApprovalAmount
field. Can only be used when partialApprovalCapable
is true
, i.e. the merchant approves that a smaller amount than the full transaction amount is authorised.