Skip to main content

Merchant Management

Application

Merchant Application

The merchant data structure holds information about you, the merchant (acceptor). These fields can be used to override the information that is shown on the cardholder statement.

Parameters

FeildRequiredFormatDescription
merchant.idMandatoryN15[0-9]15Acquirer-assigned Merchant identifier.
merchant.nameMandatoryAn75[\s\S]100The registration name of the merchant.The merchant’s legal business name. This may differ from the merchant.business
merchant.businessMandatoryAN22[\s\S]22The name of the merchant. It will normally make up the first line of the card holder statement.
merchant.websiteOptionalAN100[\s\S]100This normally makes up the second line of the card holder statement.
merchant.streetMandatoryAN100[\s\S]100The location of the merchant outlet where the transaction took place. If the merchant does not operate from a fixed location or is an online merchant, you must provide the details of the merchant’s principle place of business. Principle place of business is defined as the same country as the merchant location (i.e. the operating country). For example, Merchant ABC in India would require an address in India, not the headquarters in the US. Cannot be a PO box.
merchant.postcodeMandatoryAN10[A-Za-z0-9-]10The postal code or zip code of the merchant
merchant.cityMandatoryAN50[a-zA-Z0-9]50The city of the merchant
merchant.stateMandatoryAN50[a-zA-Z0-9]50The county, state or region of the merchant
merchant.countryMandatoryA2[A-Za-z]2The country of the merchant
merchant.phoneMandatoryAN25[a-zA-Z0-9+-.]25The merchant's phone number.
merchant.mmccMandatoryAN4[0-9]4The merchant's category code ( MasterCard).
merchant.vmccMandatoryAN4[0-9]4The merchant's category code ( Visa).
merchant.pfIdMandatoryAN11[\s\S]11The Payment Facilitators assigned by Mastercard of the merchant
merchant.isoIdOptionalAN8[\s\S]8The Independent Sales Organization(Mastercard use only) of the merchant
merchant.submerchantIdOptionalAN15[\s\S]15The id of the sub-merchant of the payment facilitator.
merchant.pfAbbvOptionalAN7[\s\S]7Abbv. name of the payment facilitator
merchant. nationalTaxIdentificationNumberOptionalAN14The government-assigned number used by the merchant for tax reporting purposes. It is also known as the Business Registration ID
merchant. locationStreetAddress1OptionalAN60[\s\S]60The location of the merchant outlet where the transaction took place. If the merchant does not operate from a fixed location or is an online merchant, you must provide the details of the merchant’s principle place of business. Principle place of business is defined as the same country as the merchant location (i.e. the operating country). For example, Merchant ABC in India would require an address in India, not the headquarters in the US. Cannot be a PO box.
merchant.mcc2OptionalUN4[0-9]4The acquirer has the option to provide up to 10 MCCs for a particular merchant location; mcc2 to mcc10 fields can be left blank if they do not apply. This is usually applicable to merchant superstores who deal with multiple lines of business.
merchant.mcc3UN4[0-9]4Optional
merchant.mcc4UN4[0-9]4Optional
merchant.mcc5UN4[0-9]4Optional
merchant.mcc6UN4[0-9]4Optional
merchant.mcc7UN4[0-9]4Optional
merchant.mcc8UN4[0-9]4Optional
merchant.mcc9UN4[0-9]4Optional
merchant.mcc10UN4[0-9]4Optional
merchant.aggregatorIDAN8[a-zA-Z0-9]8ConditionalThe payment Facilitator ID assigned by Visa to the Payment Facilitator who is processing the merchant's transactions. Required if the merchant processes through a Visa payment facilitator or a marketplace.
merchant.aggregatorNameConditionalAN25[a-zA-Z0-9]25The name of the aggregator processing this merchant’s payment. Required if Aggregator ID is populated.
merchant.aggregatorTypeConditionalAN1The name of the aggregator processing this merchant’s payment. Value:P Payment Facilitator M Marketplace
merchant.aggregatorAbbvConditionalAN7[a-zA-Z0-9]7Abbv.name of the aggregator
merchant.corporateStatusMandatoryUN1Identified whether the merchant is a sole proprietor or not. Value: 0 Not a Sole Proprietor 1 Individual/Sole Proprietor
merchant.corporateNameOptionalAN55[\s\S]100The name of the corporation that owns the merchant. This field is applicable if another company owns the merchant in a hierarchical fashion.
merchant.dateDesignedMandatoryUN8 ccyymmddThe relationship start date when the store (location) was signed up by the acquirer or payment facilitator
merchant.mvvIDConditionalAN10[a-fA-F0-9]10A unique Merchant Verification Value (MVV) assigned for each Visa SMB merchant

resourcePath=/eastpay/v3/merchant/create

curl http://host:port/eastpay/v3/merchant/create \
-d "entityId= tEntity1" \
-d "entityType=PARTICIPATOR" \
-d "merchant.id= 010100215311001" \
-d "merchant.name=Test Merchant AAA" \
-d "merchant.business=AAA" \
-d "merchant.website=www.aaa.com" \
-d "merchant.street= No.111, Merchant Street " \
-d "merchant.postcode=123456" \
-d "merchant.city=shanghai" \
-d "merchant.state=shanghai" \
-d "merchant.country=CN" \
-d "merchant.mmcc=5311" \
-d "merchant.vmcc=5311" \
-d "merchantTransactionId= mer202001021101011230000" \
-H "Authorization: Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg="

In response , system will generate an access token for the merchant automatically. Merchant administrator can change the token in merchant service portal. Below is a Sample Response:

{
"id":"872b883720a8d9d82d23131d21e14765",
"result":{
"code":"000.000.000",
"description":"Transaction succeeded"
},
"merchant":{
"id":"010100215311001",
"token":OGFjN2E0Yzk3NTQxNTM2YjAxNzU0Njc3MTEyMDBiYjl8Z0U3R3RUamJmdw=="
},
"buildNumber":"5a76591c8e1d872b883720a8d9d82d2bc1ff8199@2020-01-15 07:59:05 +0000",
"timestamp":"2020-01-16 09:01:05.208+0000",
"ndc":"8a8294174b7ecb28014b9699220015ca_71665329ea9642e19b409bb793a9b80f"
}

Terminal Application

The POS terminal data structure holds information about POS-terminal.

Parameters

FeildRequiredFormatDescription
pos.terminalIdMandatoryAN8[a-zA-Z0-9_]8Id assigned by the acquirer.
pos.merchantIdMandatoryAN8[a-zA-Z0-9_]8Merchant ID to which POS belongs
pos.nameMandatoryAN32[a-zA-Z0-9_]32Terminal name assigned by the merchant
pos.deviceIdMandatoryN32[0-9]32Serial number of the terminal.
pos.deviceInfoMandatoryAN32[a-zA-Z0-9_]32Device Info.Possible values:PAX_S800 VERIFONE_E335 ....
pos.terminalTypeOptionalAN32[a-zA-Z0-9_]32Terminal Type. Possible values:- POS mPOS DigitalQR WEB
pos.postcodeOptionalAN10[A-Za-z0-9-]10The postal code or zip code of the terminal
pos.pinEntryCapabilityMandatoryAN1[A-Za-z0-9-]1Indicates if the terminal is currently able to handle PIN. Possible values: 0:Unknown 1:Available 2:Not available 3:mPOS software-based PIN 8:PINpad is not operative now
pos.digitalIdOptionalAN15[A-Za-z0-9-]15The digital id assigned by the acquirer
pos.acctIdOptionalAN15[A-Za-z0-9-]15The account id assigned by the acquirer

resourcePath=/eastpay/v3/terminal/create

curl http://host:port/eastpay/v3/terminal/create \
-d "entityId= tEntity1" \
-d "entityType=PARTICIPATOR" \
-d "pos.merchantId= 010100215311001" \
-d "pos.name=Test Terminal" \
-d "pos.terminalId=12345678" \
-d "pos.terminalType=POS" \
-d "pos.postcode=123456" \
-d "pos.pinEntryCapability=1" \
-d "merchantTransactionId= mer2020010310611220000" \
-H "Authorization: Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg="

Sample Response:

{
"id":"872b883720a8d9d82d23131d21e14765",
"result":{
"code":"000.000.000",
"description":"Transaction succeeded"
},
"merchant":{
"id":"010100215311001"
},
"pos":{
"terminalId":"12345678"
},
"buildNumber":"5a76591c8e1d872b883720a8d9d82d2bc1ff8199@2020-01-15 07:59:05 +0000",
"timestamp":"2020-01-03 09:01:05.208+0000",
"ndc":"8a8294174b7ecb28014b9699220015ca_71665329ea9642e19b409bb793a9b80f"
}

Update Information

Merchant Id and Terminal Id cannot be updated after it created and the other information can be updated with following two APIs.

Update merchant information:

resourcePath=/eastpay/v3/merchant/update/{merchantId}

curl http://host:port/eastpay/v3/merchant/update/010100215311001 \
-d "entityId= tEntity1" \
-d "entityType=PARTICIPATOR" \
-d "merchant.street= No.222, Merchant Street " \
-d "merchant.postcode=222222" \
-d "merchantTransactionId= mer202001051101011230000" \
-H "Authorization: Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg="

Update terminal information:

resourcePath=/eastpay/v3/terminal/update/{terminalId}

curl http://host:port/eastpay/v3/terminal/update/12345678 \
-d "entityId= tEntity1" \
-d "entityType=PARTICIPATOR" \
-d "pos.pinEntryCapability=2" \
-d "merchantTransactionId= mer2020010310611220000" \
-H "Authorization: Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg="

3DS Merchant Enrollment

This API is used to manage merchant participation in Mastercard Identity Check on EMV 3DS (3DS2).

Enroll 3DS Merchant

resourcePath=/eastpay/v3/merchant/3dsenroll

curl http://host:port/eastpay/v3/merchant/3dsenroll \
-d "entityId= tEntity1" \
-d "entityType=PARTICIPATOR" \
-d "merchant.id= 010100215311001" \
-d "merchantTransactionId= mer202001021101011230000" \
-H "Authorization: Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg="

Below is an example of response:

{
"id":"872b883720a8d9d81343123b0fbcd176",
"result":{
"code":"000.000.000",
"description": "Transaction succeeded"
},
"buildNumber":"5a76591c8e1d872b883720a8d9d82d2bc1ff8199@2020-01-15 07:59:05 +0000",
"timestamp":"2020-01-18 12:51:05.326+0000",
"ndc":"8a8294174b7ecb28014b9699220015ca_71665329ea9642e19b409bb793a9b80f"
}

Delete 3DS Merchant

Parameters

FeildRequiredFormatDescription
threeDSecure. deleteReasonConditional(Required only if action is set to "DELETE")StringDescription: Reason to delete the merchant enrolment Values: "Data Entry Error", "Merchant No Longer Participating", "Acquirer Reference ID Change", "Acquirer Primary ICA Change", "Other"

resourcePath=/eastpay/v3/merchant/3dsdelete

curl http://host:port/eastpay/v3/merchant/3dsdelete \
-d "entityId= tEntity1" \
-d "entityType=PARTICIPATOR" \
-d "merchant.id= 010100215311001" \
-d "merchantTransactionId= mer202001021101011230000" \
-d "threeDSecure.deleteReason= TEST" \
-H "Authorization: Bearer OGE4Mjk0MTc0YjdlY2IyODAxNGI5Njk5MjIwMDE1Y2N8c3k2S0pzVDg="

Below is an example of response:

{
"id":"872b883720a8d9d81343123b0fbcd176",
"result":{
"code":"000.000.000",
"description": "Transaction succeeded"
},
"buildNumber":"5a76591c8e1d872b883720a8d9d82d2bc1ff8199@2020-01-15 07:59:05 +0000",
"timestamp":"2020-01-18 12:51:05.326+0000",
"ndc":"8a8294174b7ecb28014b9699220015ca_71665329ea9642e19b409bb793a9b80f"
}

Status Maintenance

Please use status maintenance API to close or terminate the merchant / terminal.

Merchant Status

The possible value of the merchant.status is the following:

  • NORMAL Normal status
  • CLOSED Closed by bank
  • BLOCKED Temporarily Stopped
  • TERMINATED Voluntarily Closed
tip

If the merchant status is closed or terminated, it is not allowed to set normal status in API.

And there is an optional field merchant.securityStatus and the security status will not affect the transactions.

  • SUSPECTED Fraud detected
  • IDVERIFIED ID verified

Merchant is a mandatory field in this API. Below is an sample:

resourcePath=/eastpay/v3/merchant/status/

curl --location --request POST 'https://domain/eastpay/v3/merchant/status' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'entityId=Entity1' \
--data-urlencode 'entityType=PARTICIPATOR' \
--data-urlencode 'merchantTransactionId=a6728948-5be2-4979-ad57-650ce85b64c3' \
--data-urlencode 'merchant.id=202500002222' \
--data-urlencode 'merchant.status=NORMAL' \
--data-urlencode 'merchant.securityStatus=SUSPECTED'

Terminal Status

Below is the possible value of terminal.status:

  • NORMAL
  • CLOSED
  • BLOCKED
  • TERMINATED

Update terminal status:

resourcePath=/eastpay/v3/terminal/status/

curl --location --request POST 'https://host:port/eastpay/v3/terminal/status' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'entityId=Entity1' \
--data-urlencode 'entityType=PARTICIPATOR' \
--data-urlencode 'merchantTransactionId=a6728948-5be2-4979-ad57-650ce85b64c3' \
--data-urlencode 'merchant.id=202500002222' \
--data-urlencode 'pos.terminalId=10200222' \
--data-urlencode 'terminal.status=NORMAL'

Inquiry

Merchant Inquiry

Merchant Information and status Inquiry API. The response will include the merchant information and merchant status (also include 3DS enrolment status)

resourcePath=/eastpay/v3/merchant/Inquiry

Terminal Inquiry

Terminal Information and status Inquiry API. The response will include the terminal information and terminal status.

resourcePath=/eastpay/v3/terminal/Inquiry