International Card Merchant Submitting API Interface (merchant to PayEase, Mandatory Interface)

Description

This interface is used for merchant to request payment to PayEase assigned URL and receive redirected address to jumping bank page after choosing for international credit card on merchant side through https protocol.

Request Endpoint

https://apis.5upay.com/icc/orderApi

Name Type& Max Description Requirement
merchantId varchar(9) The unique identity of the merchant ID in Payease system. After the merchant completes Payease system registration, the merchant can log in the merchant background to check M
orderAmount decimal(18) UNIT: Yuan. Keep 2 decimal places, for example 10.00 M
orderCurrency varchar(15) NY, USD, EUR, GBP, JPY, RUB, CHF, HKD, SGD, MOP, CAD, NZD, TWD,AUD M
requestId varchar(50) Format is date(yyyymmdd)-merchant id-merchant flow number e.g.: 20170101-888-12345 The flow number is numeric, not repeated within 24 hours and only be number and “-”. It can be single or multiple. M
notifyUrl varchar(200) Server notification: Successful notification will be sent to the address after payment is successful. This address can take parameters(Send mechanism Refer to response mechanism) example: “www.5upay.com/callback.action?test =test”. Note: if the parameter value of notifyUrl is not filled, your server will not receive the notice of successful payment after payment is successful. M
shipInfo Json Please see table "Request Fields (shipinfo)" M
billInfo Json Please see table "Request Fields (billinfo)" M
terminalNo varchar(20) The terminal number of corresponding website, the max size is 20 digit. M
remark varchar(300) This parameter will be returned along with payment status. O
firstName varchar(40) Cardholder’s firstname M
lastName varchar(40) Cardholder’s lastname M
cardNo varchar(16) Card number in numeric M
expireM varchar(2) The expired Month of the card: In format[mm],e.g.02 M
expireY varchar(2) The expired year of the card: In format[yy],e.g.11 M
cardCvv2 varchar(4) VISA/MASTER/JCB is 3 digits,AE is 4 digits M
ordip varchar(15) Th IP address of the terminal which is used for inputting cardholder information M
callbackUrl varchar(200) The page designated by merchant after completing the 3D validation,E.g. “https://www.5upay.com/callback.action?test=test”. M
browserInfo Json The browser Info, please see the table "Request Fields (browserInfo)" below M
hmac varchar(500) The method for obtaining hmac is shown in form 11,The parameter sequence is spliced from A-Z with the initials of key name, and The corresponding key values are separated by #. M

Request Fields (shipInfo)

Name Type& Max Description Requirement
shipStreet String (300) the street of shipping address M
shipCity String (300) the city of shipping address M
shipState String (300) the state or province of shipping address(e.g.2 digits code for USA and Canada.The standard can refer to 《 state code》) M
shipPost String (100) the post code of shipping address.It is mandatory for USA with 5 or 9 digits(like NNNNN or NNNNN-NNNN) and Canada with 6 digits(like ANA NAN) M
shipCountry String (20) the code of shipping country,,please refer to COUNTRY CODE M
shipPhone String (15) Shipping phone number M
shipEmail String (100) Shipping email M

Request Fields (billinfo)

Name Type& Max Description Requirement
billStreet String (300) the street of bill address M
billCity String (300) the city of bill address M
billState String (300) the state or province of bill address(e.g.2 digits code for USA and Canada.The standard refer to STATE CODE) M
billPost String (100) the post code of bill address.It is mandatory for USA with 5 or 9 digits(like NNNNN or NNNNN-NNNN) and Canada with 6 digits(like ANA NAN) M
billCountry String (20) the 3 digits code of bill country, please refer to COUNTRY CODE M
billPhone String (15) The phone number of the bill M
billEmail String (100) The email of the bill M

Request Fields (browserInfo)

Name Type& Max Description Requirement
acceptHeader String (300) The contents of the HTTP ACCEPT header sent from the cardholder's browser to the 3DS requester. Any other header different from the ACCEPT header will be rejected. For example, application/json, text/plain, text/HTML, * / *. M
javaEnabled String (10) Boolean value, representing the ability of the cardholder's browser to execute Java. You can check this value by accessing the navigator property navigator.javaEnabled using JavaScript. For example, var javaEnabled=navigator.javaEnabled(); //java_enabled M
terminalType String (2) Cardholder Browser type; Sample: 01 PC to 02 Mobile phone: Cardholder uses a computer browser to transfer 01
language String (40) Represents a value for the browser language defined in IETF BCP47. Please note that according to IETF BCP47, only one type of the browser language tag will be submitted. Numeric characters are also allowed in sub-tags and will represent regions, such as EN-GB, zh-Guoyu, fil-PH, GSW, ES-419, DE-1996, etc. You can check the navigator with JavaScript through "navigator.language,". For example: var language=navigator.language; //language M
colorDepth String (10) A value, in bits per pixel, that represents the depth of the palette bits used to display an image. Get it from the cardholder's browser using the screen.ColorDepth property. The value according to the EMVCo specification can be one of 1, 4, 8, 15, 16, 24, 32, 48. If an unsupported color_depth is determined, then you need to submit the closest supported value that is smaller than the actual value. If you get a value of 30, which is not supported by the EMVCo specification, you must submit 24. For example: var color_depth=String(window.screen.colordepth); //color_depth M
screenHeight String (10) The total height of the cardholder's screen in pixels. E.g, var screen_height=String(window.screen.height); // M
screenWidth String (10) The total width of the cardholder's screen in pixels. E.g. var screen_width=String(window.screen.width); //screen_width M
timeZoneoffset String (100) Time difference, in minutes, between the UTC time and the cardholder's browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead. If The time is "UTC time minus 5 hours", submit 300 or 300+, and if UTC +2 hours, submit -120. This value can be checked from the Date object using the Javascript getTimezoneOffset() method. For example: var time_zone_offset=new Date().gettimezoneoffset (); //time_zone_offset M
userAgent String (300) The contents of the HTTP userAgent header, for example: var userAgent=navigator.useragent; //userAgent M

Sample

{ "merchantId": "888", "orderAmount": "1.00", "orderCurrency": "CNY", "requestId": "20190813-888-123456", "notifyUrl": "http://www.baidu.com", "terminalNo": "123456", "remark": "test", "firstName": "ming", "lastName": "li", "cardNo": "424557668", "expireM": "02", "expireY": "12", "cardCvv2": "356", "ordip": "127.0.0.1", "hmac": "af291df5d288690d2b7d7bcff7dc5a74447ce1502c1edcc9293051bb6a517d68", }

Response Fields

Note: Only when the response processing is normal, the status parameter value is SUCCESS, the message includes merchant number, order number and other information.

Name Description
status SUCCESS
ERROR; Please refer to ERROR LIST
merchantId Refer to the merchantId of the request parameter
paymentModeAlias The returned value is VISA MASTER AE JCB
requestId Refer to the requestId of the request parameter
bankNumber Bank number
serialNumber System transaction serial number
pstatus INIT
SUCCESS
FAILED
PROCESSING
pstatusDescription Refer to payment status code table
threedsUrl 3D Validation URL, If status is SUCCESS and pstatus is PROCESSING, it indicates the 3D challenge address accessed by the user's browser
orderAmount Refer to the order Amount of the request parameter
orderCurrency Refer to the order Currency of the request parameter
submissionTime Format: yyyy-MM-dd HH:mm:ss
completeTime Format: yyyy-MM-dd HH:mm:ss
remark Refer to the remark of the request parameter
hmac The method for obtaining hmac is shown in form 11,The parameter sequence is spliced from A-Z with the initials of key name, and The corresponding key values are separated by # .

Sample

{ "status": "SUCCESS", "merchantId": "888", "paymentModeAlias": "MASTER", "requestId": "20190813-888-123456", "bankNumber": "3456789098", "serialNumber": "123456", "pstatus": "SUCCESS", "pstatusDescription": "0000", "orderAmount": "1.00", "orderCurrency": "CNY", "submissionTime": "2019-08-13 01:12:30", "completeTime": "2019-08-13 01:12:31", "remark": "test", "hmac": " af291df5d288690d2b7d7bcff7dc5a74447ce1502c1edcc9293051bb6a517d68", }

Synchronous Return Fields

the parameter of this form is the NotifyUrl server return parameter

Name Description
merchantId Refer to the merchant Id of the request parameter
requestId Refer to the request Id of the request parameter
bankNumber Bank Number
serialNumber System transaction serial number
pstatus INIT
SUCCESS
FAILED
PROCESSING
statusDescription Please refer to the "Status Code"
orderAmount Refer to the order amount of the request parameter
orderCurrency Refer to the order currency of the request parameter
submissionTime Format: yyyy-MM-dd HH:mm:ss
completeTime Format: yyyy-MM-dd HH:mm:ss
paymentModeAlias The returned value is VISA MASTER AE JCB
remark Refer to the remark of the request parameter
hmac The parameter sequence is spliced from A-Z with the initials of key name, and The corresponding key values are separated by # .

Sample

{ "serialNumber": "8a8a8f5990d911960190d96a19d900fa", "orderCurrency": "CNY", "pstatus": "FAILED", "completeTime": "2024-07-22 15:50:32", "remark": "备注", "submissionTime": "2024-07-22 15:48:48", "statusDescription": "0008", "orderAmount": "1.00", "merchantId": "890002159", "requestId": "20240722-890002159-1721634527089", "hmac": "NEMt5VymXBNsZFxd/61hqCvSxPlXEYElcPFOPKP2XAQ6Z0ZdbLA==", "paymentModeAlias": "MASTER" }

Asynchronous Return Fields

Note: the parameter of this form is the NotifyUrl server return parameter

Name Description
merchantId Refer to the merchant Id of the request parameter
requestId Refer to the request Id of the request parameter
bankNumber Bank Number
serialNumber System transaction serial number
orderCurrency Refer to the order currency of the request parameter
orderAmount Refer to the order amount of the request parameter
pstatus SUCCESS
FAILED
pstatusDescription Refer to payment "status code"
submissionTime Format: yyyy-MM-dd HH:mm:ss
completeTime Format: yyyy-MM-dd HH:mm:ss
paymentModeAlias The returned value is VISA MASTER AE JCB
remark remark
status SUCCESS
ERROR
hmac The parameter sequence is spliced from A-Z with the initials of key name, and The corresponding key values are separated by # .

Sample

{ "serialNumber": "8a8a8f5990d911960190d96a19d900fa", "orderCurrency": "CNY", "pstatus": "FAILED", "completeTime": "2024-07-22 15:50:32", "remark": "备注", "submissionTime": "2024-07-22 15:48:48", "pstatusDescription": "0008", "orderAmount": "1.00", "merchantId": "890002159", "requestId": "20240722-890002159-1721634527089", "hmac": "Py7KHhB5+6qnB6vtVZDygu0cu51YFGAw==", "paymentModeAlias": "MASTER", "status": "SUCCESS" }