PSD2 new parameters

PSD2 parameters

Below, the parameters defined in the PSD2 for making a payment are detailed.



Values of the parameters MERCHANT_SCA_EXCEPTION and DS_MERCHANT_SCA_EXCEPTION

Value Concept
LWV Exception for low amounts. This exception includes payments of 30 EUR or less,
TRA Exception for low risk transactions by the buyer/business.
The Banco Sabadell risk analysis system will evaluate whether the payment ultimately falls under this exception.
MIT Exception for transactions initiated by the business.
Must be used for all non-presential payments such as subscriptions, deferred payments, incremental payments, etc.
When this exception is selected, the MERCHANT_TRX_TYPE parameter must be indicated (see lower table) to specify the type of payment initiated by the business.
To be able to use this exception, the first payment from each client must be executed with SCA, that is, secure payment.
COR Exception for payments between businesses.
MOT Exception for MOTO payments


Values of the parameters MERCHANT_TRX_TYPE and DS_MERCHANT_TRX_TYPE

Value Concept
I Deferred payment. Always refers to an INDIVIDUAL purchase, the amount of the different transactions being set, and with a defined time period
R Recurring payment. The amount of the transactions may be set or variable, and with a defined time period
H Normally due to partial deliveries. Also, when the client extends the hotel stay / vehicle rental or when there is an estimated authorisation, the final amount is requested (“conclusion”)
E Original rejected due to “balance”; only for certain activity sectors (for greater detail review the brand requirements) and with a maximum number of days since the purchase. Relevant example: “Transport”
D Those which occur following the operation for services provided / used, unknown at the beginning. (Minibar, vehicle damage, fines, etc.)
M When additional services are incurred during the contract period
N When the business charges for services which the holder committed to, but then did not comply with the agreed terms. Relevant example: no-show hotel reservations without cancellation.
C Other


MERCHANT_DATA and DS_MERCHANT_DATA parameters will be JSON objects encoded in base 64 and then url encoded. Using pseudocode, it would be something like urlencode( base64_encode( JSON_Object ) ). JSON object format should be like this before encoding:


{
	"customer": {
		"id": "",
		"name": "",
		"surname": "",
		"email": "",
		"homePhone": {              
			"cc": "",
			"subscriber": ""
		},
		"mobilePhone": {            
			"cc": "",
			"subscriber": ""
		},
		"workPhone": {              
			"cc": "",
			"subscriber": ""
		},
		"firstBuy": ""
	},
	"shipping": {
		"shipAddrCity": "",         
		"shipAddrCountry": "",      
		"shipAddrLine1": "",        
		"shipAddrLine2": "",        
		"shipAddrLine3": "",
		"shipAddrPostCode": "",     
		"shipAddrState": ""         
	}, 
	"billing": {
		"billAddrCity": "",         
		"billAddrCountry": "",      
		"billAddrLine1": "",        
		"billAddrLine2": "",        
		"billAddrLine3": "",
		"billAddrPostCode": "",     
		"billAddrState": ""         
	},
	"acctID": "",
	"acctInfo": {
		"chAccAgeInd": "",
		"chAccChange": "",
		"chAccChangeInd": "",
		"chAccDate": "",
		"chAccPwChange": "",
		"chAccPwChangeInd": "",
		"nbPurchaseAccount": "",
		"provisionAttemptsDay": "",
		"txnActivityDay": "",
		"txnActivityYear": "",
		"paymentAccAge": "",
		"paymentAccInd": "",
		"shipAddressUsage": "",
		"shipAddressUsageInd": "",
		"shipNameIndicator": "",
		"suspiciousAccActivity": ""
	},
	"merchantRiskIndicator": {
		"deliveryEmailAddress": "",
		"deliveryTimeframe": "",
		"giftCardAmount": "",
		"giftCardCount": "",
		"giftCardCurr": "",
		"preOrderDate": "",
		"preOrderPurchaseInd": "",
		"reorderItemsInd ": "",
		"shipIndicator": ""
	},
	"threeDSRequestorAuthenticationInfo": {
		"threeDSReqAuthData": "",
		"threeDSReqAuthMethod": "",
		"threeDSReqAuthTimestamp": ""
	},
	"shoppingCart": [
		{
			"sku": "",
			"quantity": "",
			"unitPrice": "",
			"name": "",
			"category": ""
		}
	],
	"addrMatch": "",
	"purchaseInstalData": "",
	"recurringExpiry": "",
	"recurringFrequency": ""
}
		
Element Content Description
customer JSON Mandatory. Node with store customer related information
customer.id [0-9] Mandatory. Store customer identifier
customer.name [A-Za-z0-9]{1,254} Mandatory. Name of holder
customer.surname [A-Za-z0-9]{1,254} Mandatory. Surname of holder
customer.email [A-Za-z0-9]{1,254} Conditional. Email address of holder. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
customer.homePhone JSON Conditional. Node with user home phone data. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
customer.homePhone.cc [0-9]{1,3} International dialling code of the holder’s home telephone number
customer.homePhone.subscriber [0-9]{1,15} Holder’s home telephone number
customer.mobilePhone JSON Conditional. Node with user mobile phone data. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
customer.mobilePhone.cc [0-9]{1,3} International dialling code of the holder’s mobile phone number
customer.mobilePhone.subscriber [0-9]{1,15} Holder’s mobile phone number
customer.workPhone JSON Conditional. Node with user work phone data. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
customer.workPhone.cc [0-9]{1,3} International dialling code of the holder’s work phone number
customer.workPhone.subscriber [0-9]{1,15} Holder’s work phone number
customer.firstBuy si|no Optional. Indicates wether the user has already bought in this business
shipping JSON Optional. Node with shipping address related information. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
shipping.shipAddrCity [A-Za-z0-9]{1,50} Conditional. City of delivery address. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
shipping.shipAddrCountry [0-9]{3} Conditional. Numerical code (ISO 3166-1) of the country of the delivery address. Obligatory if sending shipAddrState
shipping.shipAddrLine1 [A-Za-z0-9]{1,50} Conditional. Delivery address, line 1. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
shipping.shipAddrLine2 [A-Za-z0-9]{1,50} Optional. Delivery address, line 2. Sending this is highly recommended
shipping.shipAddrLine3 [A-Za-z0-9]{1,50} Optional. Delivery address, line 3. Sending this is highly recommended
shipping.shipAddrPostCode [A-Za-z0-9]{1,16} Conditional. Post code of the delivery address. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
shipping.shipAddrState [A-Za-z0-9]{3} Conditional. State or province of the delivery address. Corresponds to the subdivision code ISO 3166-2. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
billing JSON Optional. Node with billing address related information
billing.billAddrCity [A-Za-z0-9]{1,50} Conditional. City of the invoice address. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
billing.billAddrCountry [0-9]{3} Conditional. Numerical code (ISO 3166-1) of the country of the invoice address. Obligatory if sending shipAddrState
billing.billAddrLine1 [A-Za-z0-9]{1,50} Conditional. Invoice address, line 1. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
billing.billAddrLine2 [A-Za-z0-9]{1,50} Optional. Invoice address, line 2. Sending this is highly recommended
billing.billAddrLine3 [A-Za-z0-9]{1,50} Optional. Invoice address, line 3. Sending this is highly recommended
billing.billAddrPostCode [A-Za-z0-9]{1,16} Conditional. Post code of the invoice address. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
billing.billAddrState [A-Za-z0-9]{3} Conditional. State or province of the invoice address. Corresponds to the subdivisión code ISO 3166-2. Defined as Conditional by the EMV 3DS standard, it may be required depending on the card issuer. Highly recommended to allow authentication based on risk analysis (Risk Based Analisys) and to facilitate a frictionless shopping experience. Equally recommended if the application of SCA exemptions (PSD2) is requested
acctID [A-Za-z0-9]{1,64} Optional. Additional information you want to send to identify the account
acctInfo JSON Optional. Node with additional information on the user account at the store. Sending this is highly recommended
acctInfo.chAccAgeInd [A-Za-z0-9]{2} Optional. Period of time that the card holder has had the account at the business. Possible values:
01 = No account (checkout as guest)
02 = Created in this transaction
03 = Under 30 days
04 = Between 30 and 60 days
05 = Over 60 days
acctInfo.chAccChange [0-9]{8} Optional. Date on which the card holder’s account with the business was last modified, including the invoice or delivery address, the new payment account or new added users. Date format: YYYYMMDD
acctInfo.chAccChangeInd [0-9]{2} Optional. Period of time passed since the card holder’s account with the business was last modified, including the invoice or delivery address, the new payment account or new added users. Accepted values:
01 = Modified in this transaction
02 = Under 30 days
03 = 30-60 days
04 = Over 60 days
acctInfo.chAccDate [0-9]{8} Optional. Date on which the card holder opened the account with the business. Date format: YYYYMMDD
acctInfo.chAccPwChange [0-9]{8} Optional. Date on which the card holder changed the password of their account with the business, or reset their account. Date format: YYYYMMDD
acctInfo.chAccPwChangeInd [A-Za-z0-9]{2} Optional. Indicates the period of time since the card holder’s account with the business changed its password or was reset. Accepted values:
01 = No changes
02 = Changed during this transaction
03 = Under 30 days
04 = Between 30 and 60 days
05 = Over 60 days
acctInfo.nbPurchaseAccount [0-9]{1,4} Optional. Number of purchases with this account during the last six months
acctInfo.provisionAttemptsDay [0-9]{1,3} Optional. Number of attempts to add a card in the last 24 hours
acctInfo.txnActivityDay [0-9]{1,3} Optional. Number of transactions (successful and abandoned) for this account of the card holder with the business in all payment accounts in the last 24 hours
acctInfo.txnActivityYear [0-9]{1,3} Optional. Number of transactions (successful and abandoned) for this account of the card holder with the business in all payment accounts of the last year
acctInfo.paymentAccAge [0-9]{8} Optional. Date on which the payment account was registered on the card holder’s account with the business. Date format: YYYYMMDD
acctInfo.paymentAccInd [A-Za-z0-9]{2} Optional. Indicates the period of time which the payment account was registered on the card holder’s account with the business. Accepted values:
01 = No account (checkout as guest)
02 = During this transaction
03 = Under 30 days
04 = Between 30 and 60 days
05 = Over 60 days
acctInfo.shipAddressUsage [0-9]{8} Optional. Date on which the delivery address used for this transaction was used for the first time with the business. Date format: YYYYMMDD
acctInfo.shipAddressUsageInd [A-Za-z0-9]{2} Optional. Indicates when the delivery address used for this transaction was used for the first time with the business. Accepted values:
01 = This transaction
02 = Under 30 days
03 = Between 30 and 60 days
04 = Over 60 days
acctInfo.shipNameIndicator [A-Za-z0-9]{2} Optional. Indicates whether the name of the card holder on the account is identical to the delivery name used for this transaction. Accepted values:
01 = Name on the account identical to the delivery name
02 = Name on the account different from the delivery name
acctInfo.suspiciousAccActivity [A-Za-z0-9]{2} Optional. Indicates whether the business has experienced suspicious activity (including previous fraud) on the card holder’s account. Accepted values:
01 = No record of suspicious activity
02 = Record of suspicious activity
merchantRiskIndicator JSON Optional. Node with additional information of the business representing the evaluation of the level of risk of fraud for authentication. The delivery of this information is highly recommended
merchantRiskIndicator.deliveryEmailAddress [A-Za-z0-9]{1,254} Optional. For electronic delivery, the email address to which the goods were delivered
merchantRiskIndicator.deliveryTimeframe [A-Za-z0-9]{2} Optional. Indicates the delivery period of the goods. Accepted values:
01 = Electronic delivery
02 = Delivery on the same day
03 = 24 hour delivery
04 = Delivery in 2 days or more
merchantRiskIndicator.giftCardAmount [A-Za-z0-9]{1,15} Optional. For purchases from prepaid cards or gift cards, the total amount of the purchase in major units (for example, USD 123.45 is 123)
merchantRiskIndicator.giftCardCount [0-9]{2} Optional. For purchases from prepaid cards or gift cards, total count of prepaid cards or gift cards/gift codes purchased
merchantRiskIndicator.giftCardCurr [0-9]{3} Optional. For the purchase of prepaid/gift cards, code ISO-4217 of currency of the card
merchantRiskIndicator.preOrderDate [0-9]{8} Optional. For a pre-ordered purchase, the forecast availability date of the goods. Date format: YYYYMMDD
merchantRiskIndicator.preOrderPurchaseInd [A-Za-z0-9]{2} Optional. Indicates whether the card holder makes an order with availability or future launch date. Accepted values:
01 = Goods available
02 = Future availability
merchantRiskIndicator.reorderItemsInd [A-Za-z0-9]{2} Optional. Indicates whether the card is reordering previously purchased goods. Accepted values:
01 = First time purchased
02 = Previously purchased
merchantRiskIndicator.shipIndicator [A-Za-z0-9]{2} Optional. Indicates the delivery method selected for the transaction. Businesses must select the delivery indicator code which more precisely describes the specific transaction of the card holder, not their general commercial activity. If one or more items are included in the sale, use the delivery Indicator code for physical goods, or if all products are digital, use the delivery Indicator code which describes the most expensive item.
Accepted values:
01 = Delivery to the invoice address of the holder
02 = Delivery to another verified address of the client
03 = Delivery to an address other than that of the holder’s invoice address
04 = Delivery to the store or collection at premises (the address of the store will be stored in the delivery address fields)
05 = Digital goods (includes online services, electronic gift cards and discount coupons)
06 = Tickets for events and trips, without delivery
07 = Other (for example, games, digital services without delivery, subscriptions to online services, etc.)
threeDSRequestorAuthenticationInfo JSON Optional. Node with additional information on how the client was authenticated at the start of the session in the business account
threeDSRequestorAuthenticationInfo.threeDSReqAuthData [A-Za-z0-9]{1,2048} Optional. Data which documents and supports a specific authentication process. The content of the current version of the protocol is not specified
threeDSRequestorAuthenticationInfo.threeDSReqAuthMethod [A-Za-z0-9]{2} Optional. Mechanism used by the holder to authenticate themselves in the business. Accepted values:
01 = Without 3DS authentication (for example, holder identified as guest)
02 = Logged onto the account on the ACS using the credentials of the ACS
03 = Logged onto the account on the ACS using an affiliate identifier
04 = Logged onto the account on the ACS using the credentials of the issuer
05 = Logged onto the account on the ACS using a third party authentication
06 = Logged onto the account on the ACS using a FIDO authenticator
07–79 = Reserved
80–99 = Reserved
threeDSRequestorAuthenticationInfo.threeDSReqAuthTimestamp [0-9]{12} Optional. Date and time UTC of the authentication. Date format: YYYYMMDDHHMM
shoppingCart Array JSON Optional. Node with the list of items purchased in the store
shoppingCart[].sku [A-Za-z0-9]{1,15} Optional. Product identifier
shoppingCart[].quantity [0-9]{5} Optional. Units of product purchased
shoppingCart[].unitPrice [0-9]{1,8} Optional. Unit amount of each product in integer format. 1.00 EURO = 100, 4.50 EUROS = 450, etc.
shoppingCart[].name [A-Za-z0-9]{1,254} Optional. Product name
shoppingCart[].category [A-Za-z0-9]{1,50} Optional. Product category
addrMatch [A-Za-z]{1} Optional. Indicates whether the delivery address is the same as the invoice address
Y = The delivery address is the same as the invoicing address
N = The delivery and invoice addresses are different
purchaseInstalData [0-9]{1,3} Conditional. Mandatory for Instalment operations (MERCHANT_TRX_TYPE = I). Indicates the maximum number of deferred payment authorisations
Accepted values: The value must be greater than 1
recurringExpiry [0-9]{8} Conditional. Mandatory for Recurring and Instalment operations (MERCHANT_TRX_TYPE = I or R). The date from which there will be no more authorisations. Accepted format: YYYYMMDD
recurringFrequency [A-Za-z0-9]{1,4} Conditional. Mandatory for Recurring and Instalment operations (MERCHANT_TRX_TYPE = I or R). Indicates the minimum number of days between authorisations

Do you have any unresolved questions?

Enter your account control panel and open a new ticket.

Enter your panel