Soft merchant descriptors
You can provide additional merchant specific information for the consumer’s statement by populating the soft merchant data fields. This allows your consumers to identify their transactions and get information about the business that processed the charge.
Before you begin
You must enable this feature during onboarding to use. Soft merchant data is currently supported for US, CA, and EMA merchants.
Soft merchant data
The following fields are supported for soft merchant data in the object checkoutOptions.authorization.softMerchant
:
Field name | Description | Data type |
---|---|---|
name |
The label given to the merchant's name as it appears on the account holder's statement. Keep in mind that:
|
String |
merchantPurchaseDescription |
Provides textual information provided by the merchant that is specific to their internal systems or processing regarding the items, servicing, or sourcing related to the transaction. | String |
city |
A portion of a party's address which is the geographic area that is a municipality with legal power granted by a state/province charter. | String (13) |
email |
A mail system that allows a party to send and receive messages electronically. An email address is composed of a local part and a domain part.
|
String (13) |
phone |
A locator whose value identifies the formatted numeric address for routing voice or data communications via telephony, to reach a party. NOTE: Telephone number formats may vary; this field can include domestic and international telephone numbers. | String (13) |
url |
Provides textual information about data for the protocol for specifying addresses on the Internet (Universal Resource Locator - URL) for the merchant's organization. | String (13) |
visaMerchantVerificationValueId |
Identifies the unique number assigned by payment brands to merchants that have registered to participate in unique interchange programs. Some of the programs that a merchant can register for are the Utility program and the Purchasing Card Large ticket. Participating in the program allows the merchants to receive a better than priced rate. | String |
masterCardMerchantVerificationValueId |
Identifies the unique number assigned by payment brands to merchants that have registered to participate in unique interchange programs. Some of the programs that a merchant can register for are the Utility program and the Purchasing Card Large ticket. Participating in the program allows the merchants to receive a better than priced rate. | String |
merchantIncorporationStatus |
The incorporation status of the merchant location. The different statuses are:
|
String |
foreignMerchantIndicator |
Used to identify a foreign retailer under the Visa Marketplace program | Boolean |
address.recipientFullName |
The party's name as provided at the time the party is onboarded or updated based on firm policies and business rules that allow for such updates. Keep in mind that:
|
String |
address.line1 |
A portion of a party's address which is the line of the unstructured (unparsed) geographic street address containing any of the following: house number, street name, street direction, street type, dwelling type and number, PO Box number, rural delivery route number. | String |
address.line2 |
A portion of a party's address which is the line of the unstructured (unparsed) geographic street address continued. | String |
address.line3 |
A portion of a party's address which is the line of the unstructured (unparsed) geographic street address continued. | String |
address.city |
A portion of a party's address which is the geographic area that is a municipality with legal power granted by a state/province charter. | String |
address.state |
Classifies a geographic area that represents a first level, legal and political subdivision of a country; for example, Virginia, Bavaria. | String |
address.country |
A code that identifies the country that is recognized as an independent political unit in world affairs. This data element is a child of the Country Code CDE and valid values are based on ISO standards. | String |
address.postalCode |
The portion of a party's address that is the encoded representation of a geographic area to facilitate mail delivery services. | String |
merchantCategoryCode |
MCC or Merchant Category Code. Defaults to MCC configured at the merchant profile level. Some configurations allow multiple MCC's under a single Merchant ID. Sending an MCC not configured will result in an error. | String (4) |
The following is an example of how soft merchant data is sent:
HTTP method: POST
Endpoint: /checkout/intent
Scenario: Sending soft merchant data in the intent request.
{
"merchantOrderNumber": "{{merchantOrderNumber}}",
"currencyCode": "USD",
"cart": {
"totalTransactionAmount": 1000
},
"consumer": {
"email": "customer@jpmchase.com",
"billingAddress": {
"recipientFullName": "John Smith",
"line1": "1 Main St",
"city": "San Francisco",
"state": "CA",
"country": "US",
"postalCode": "95000"
}
},
"checkoutOptions": {
"authorization": {
"authorizationType": "AUTH_METHOD_CART_AMOUNT",
"softMerchant": {
"name": "Best",
"merchantPurchaseDescription": "po123",
"city": "Tampa",
"phone": "111-222-3333",
"visaMerchantVerificationValueId": "visa123",
"foreignMerchantIndicator": false,
"merchantIncorporationStatus": "6",
"address": {
"line1": "123 unreal st",
"city": "tampa",
"state": "FL",
"country": "usa",
"postalCode": "33601"
}
}
},
"capture": {
"captureMethod": "CAPTURE_METHOD_NOW"
},
"consumerProfileOptions": {
"isSaveConsumerProfile": "false"
}
}
}
Response:
{
"checkoutSessionToken": "rewyjWQiOiJiZGMxMDM0YS01MTBhLTQxNjktYjlmMy0zNmZkOWRiOGExNGIiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJrc2kiOiI4MDYyNjgyYmY3MDM1YWE0OTIwZmVlZmVjY2ViODQ2MyIsImlzcyI6ImNoZWNrb3V0IiwibWlkIjoiOTkyMzAzODIwOTEwIiwib2lkIjoiOWI4ZmJkYTgtNGU2Ni00YWI0LTkwMDgtNDFjMDQwMDU4MWNjIiwibXNyIjoiIiwic3BpIjoiYzI4YmY2NzktOGQxOS00Nzc3LThkYjctOGIyMDhiODNjM2RlIiwicCI6ImluIiwiUm9sZSI6WyJUUkFOU0FDVElPTkFMX0NIRUNLT1VUX1NIT1BQRVIiXSwibW9yIjoiMTIzNDU2Nzg5MTIzNDY2NDIxOTEwIiwib2QiOiJhMDgzM2ZlMTA2NWRhOasdNDNhNzM4ZWJiMTc4ODM5Y2Y4Yjg0YmZkMTlkMjU3NTFhZmUzMjhkNzllYWEyNWQxMWI0NzU5NWQ3ODVjYTkwMDYwMjFlMTlkYWRhZjcxNTJhYTY3YWY4MzljYWY3NTVlMGFmYzExNDQ4N2Y3NTgyNiIsImV4cCI6MTcxMzg5OTkzOCwiaWF0IjoxNzEzODkyNzM4LCJqdGkiOiJjMGE0MTFmOC02ODIxLTQyNDktOTU0ZS01NzFlOGQxOTViMTgiLCJjaWQiOiJhY2VlMjdjMC05OTc4LTQwNGEtYjM2NC0yYTcwODU2MTVkN2EifQ.Uri52i0PvLTlyaxIyzoR4uE_zKYntatCf3uF8tkPuiEtKwhGWw_Wbk-lFdJS0I5QwvNHSICgFsvktKRiAaAU17HgzDIs9ItBTRheRtDICB1IXLYhchThUvhwyli6M_Lr02ZqZGkwIcuIl7hvKPjJjRWvWS5UDx5cpTS31dQ4-a-m-cosFYPmCMKlpnB5sPd4jVB5zJsnbJU8V1cH4zBpvSaZfTzR6-U8eWt_V4PEiL0JiV-GRyDjLgnjfsR_g9p2ayaBY_ym_rMkzWlJmfVDT5Sddt-pFM6xlSB2h_jlhAydyzlL7KpSXshBKj_8fkbg0TMepbsmwxHq4ZjPQ0vplk",
"redirectedUrl": ""
}
Sub-merchant data
For those who aggregate transactions submitted to J.P. Morgan on behalf of multiple merchants (sub-merchants), we provide the means to send sub-merchant identifying fields as required by the card brands. This can be accomplished by sending soft merchant data and sub-merchant data fields in your API request to identify the sub-merchant.
To identify your sub-merchant, you can submit the following fields in the object checkoutOptions.authorization.subMerchantSupplementalData.merchantIdentification
:
Field name | Description | Data type |
---|---|---|
subMerchantId |
Identifies a merchant's account as it appears on the accountholder's statement. | String |
serviceEntitlementNumber |
Identifies a unique number assigned to a merchant by a payment brand to process conveyed transactions. | String |
sellerIdentifier |
A unique number generated by the firm to identify the individual Transaction Division processing using the Payment Brand (AMEX Opt Blue, Discover Conveyed, etc.) conveyed settlement program under the Firm's Service Entitlement (SE) Number. In the Payment Brand's conveyed settlement program, the merchant does not have an SE Number (AMEX, Discover, etc.). The Firm owns the merchant relationship and provides all the merchant servicing and support. |
String |