Skip to main content

Place an order


Create a pre-order transaction and pay through the returned information.

Info

{domain}/Servlet/JSAPIService.do

https://vmp.eftpay.com.cn/VMP/Servlet/JSAPIService.do

NameTypeDescriptionRequirement
serviceStringInterface name, see supported service
user_confirm_keyString(12)User Key, provided by eftPay
transaction_amountString(8)Amount. Requires numbers, the maximum length of decimal places is 2
PAYME test amount parameter description
out_trade_noString(28)Merchant order number
payTypeString(6)Payment type, see supported payType
buyerTypeString(7)Device type
iosandroidothers
subjectString(256)Transaction information
walletString(20)Wallet type, see supported wallet
bodyString(128)In the case of needing to describe various goods, it is recommended to accumulate the description of goods
pay_sceneStringPayment scene, please pass WEB by default, others see supported pay_scene
fee_typeString(5)Currency type, HKDCNY
Default:HKD
tidString(20)Merchant terminal number
notify_urlString(240)Notification address, production environment only supports 80 and 443 ports, other ports need to apply
return_urlString(240)The return address after payment is completed. It cannot carry parameters. The production environment only supports 80 and 443 ports, other ports need to apply. servie is not required for Alipay/WeChat online QR code interface
active_timeStringValid time, in seconds. Default is 30 minutes, that is, 1800
langStringLanguage, fixed value:cnenhk,see service that supports lang
customerInfoObjectCustomer information, valid when payment type is ATOME, see ATOME parameter description
shippingAddressObjectDelivery address, valid when payment type is ATOME, see ATOME parameter description
billingAddressObjectBilling address, valid when payment type is ATOME, see ATOME parameter description
itemsObject[]Detailed information about the order items, valid when payment type is ATOME, see ATOME parameter description
schemeStringAPP application scheme, useful when APP uses webview nested payment. Valid when payment type is UnionPay/PAYME
packageNameStringAPP application package name, useful when APP uses webview nested payment. Valid when payment type is UnionPay
timeStringTime, format:yyyyMMddHHmmss
signString(64)Signature

View supported services and their corresponding payType and wallet

Here is the mapping between service, payType, and wallet

servicepayTypewalletDescription
service.alipay.web.PreOrderAlipayALIPAYCN
ALIPAYHK
Alipay web interface
service.alipay.wap.PreOrderAlipayALIPAYCN
ALIPAYHK
Alipay wap interface
service.alipay.web.QRCodeAlipayALIPAYCN
ALIPAYHK
Alipay online QR code interface
service.wechat.web.PreOrderWeChatWECHATCN
WECHATHK
WeChat web interface
service.wechat.web.MobileH5WeChatWECHATCN
WECHATHK
WeChat H5 interface for non-WeChat mobile browsers
service.wechat.oauth2.AuthorizeWeChatWECHATCN
WECHATHK
WeChat H5 interface for WeChat official accounts
service.wechat.web.QRCodeWeChatWECHATCN
WECHATHK
WeChat online QR code interface
service.icbc.wap.PreOrderICBCICBCWAPICBC wap interface
service.atome.v2.wap.PreOrderATOMEATOMEATOME online interface
service.unionpay.online.web.PreOrderUnionPayUNIONPAYUnionPay online cash register interface
service.oct.online.PreOrderOCTOCTOctopus online payment interface
service.fdms.web.PreOrderFdmsFDMSFDMS VISA, Master payment
service.mpgs.web.PreOrderMpgsMPGSMPGS VISA, Master payment
service.ae.web.PreOrderAEAEAE payment
service.nuvei.web.PreOrderNUVEINUVEINUVEI VISA, Master payment
service.jetco.wap.PreOrderJetcoJETCOHKJetco wap interface
service.payme.web.PreOrderPAYMEPAYMEPayMe web payment interface
service.fps.web.PreOrderFPSFPSFPS web payment interface
service.bocvmp.unionpay.web.PreOrderBOCVMPBOCVMPUPWBOC web payment interface

Tips

  • Alipay online QR code interface returns a QR code URL that can be embedded into the merchant's page. This interface does not require the return_url parameter.
  • WeChat online QR code interface returns a QR code text that can be used to generate a QR code and then displayed on the merchant's page. This interface does not require the return_url parameter.
  • Refund interface is not supported for FPS.
  • NUVEI unable to control the active_time parameter, set default to 600 through configuration.
View supported services and their corresponding pay_scene

Please pass WEB as the default value. When using the following interfaces, pay attention to the corresponding payment scene

servicepay_scene
service.wechat.oauth2.AuthorizeWXWEB
service.alipay.wap.PreOrderWAP
service.jetco.wap.PreOrderWAP
service.unionpay.online.web.PreOrderONLINE_WEB
service.payme.web.PreOrderWEB/APP

Tips

  • When pay_scene= WEB , the PayMe web payment interface returns a QR code payment page link for PC.
  • When pay_scene= APP , the PayMe web payment interface returns a PayMe APP invocation link for mobile.
View supported languages for service

cn for Simplified Chinese, hk for Traditional Chinese, en for English

servicelang
service.alipay.web.PreOrdercnenhk
service.wechat.web.PreOrdercnenhk
service.oct.online.PreOrdercnenhk
service.mpgs.web.PreOrdercnenhk
service.ae.web.PreOrdercnenhk
service.jetco.wap.PreOrdercnenhk
service.fps.web.PreOrdercnenhk

transaction_amount

In PAYME UAT environment, the transaction status can be controlled by the two decimal places of the transaction_amount

Decimal PlacesDescriptionExample
81Creates a [successful] transactiontransaction_amount=0.81
80Creates a [timeout] transactiontransaction_amount=0.80
77Creates a [failed] transactiontransaction_amount=0.77
44Creates a [server error - no payment QR code]transaction_amount=0.44
45Creates a [server error - no state] transactiontransaction_amount=0.45

customerInfo
NameTypeDescriptionRequirement
mobileNumberStringThe customer's mobile number in E.164 format. For example, the international format for Chinese phone numbers (mobile and landline) is +8610123456. +861xxxxxxxxxx
fullNameStringThe customer's full name

Example

"customerInfo": {
	"mobileNumber": "+8613344445555",
	"fullName": "Atome Developer"
}
shippingAddress
NameTypeDescriptionRequirement
countryCodeStringThe country/region code in ISO-3611 format for the shipping address. For example, "SG" for Singapore, "HK" for Hong Kong, "MY" for Malaysia, "ID" for Indonesia, "TH" for Thailand, "TW" for Taiwan, "VN" for Vietnam, "PH" for Philippines.
linesArrayThe address lines for the shipping address. For example, ["China", "Hong Kong", "Kowloon", ...]
postCodeStringThe postal code for the shipping address

Example

"shippingAddress": {
	"countryCode": "HK",
	"lines": ["China", "Hong Kong"],
	"postCode": "999077"
}
billingAddress
NameTypeDescriptionRequirement
countryCodeStringThe country/region code in ISO-3611 format for the delivery address. For example, "SG" "HK" "MY" "ID" "TH" "TW" "VN" "PH"
linesArrayThe address lines for the delivery address. For example, ["China", "Hong Kong", "Kowloon", ...]
postCodeStringThe postal code for the delivery address

Example

"shippingAddress": {
	"countryCode": "HK",
	"lines": ["China", "Hong Kong"],
	"postCode": "999077"
}
items
NameTypeDescriptionRequirement
itemIdStringThe ID of this product/SKU
nameStringThe name of the item
quantityIntThe quantity of the item
priceIntThe price of the item in cents

Example

"items": [{
	"itemId": "P100",
	"name": "iPhone 12 pro max",
	"price": 11020,
	"quantity": 1
}, {
	"itemId": "P101",
	"name": "iPhone SE case",
	"price": 1000,
	"quantity": 1
}]

NameTypeDescriptionRequirement
return_statusString(3)Return status code, represents . Note: This parameter cannot be used as a judgment of whether the transaction status is successful
Other status codes see Appendix 3
return_charString(100)Return description, which may change and cannot be used as a condition judgment
Return when return_status is greater than 00
timeStringTime, format: yyyyMMddHHmmss
return_status >= 00 return
signString(64)Signature
return_status >= 00 return

NameTypeDescriptionRequirement
pay_apptradeStringTransaction initiation information, return a link for direct access, call the corresponding payment cashier or jump to the corresponding payment page (WeChat WEB only supports access to the payment page)
user_confirm_keyStringUser Key, provided by eftPay
out_trade_noString(28)Merchant order number
payTypeString(6)Payment type
buyerTypeString(7)Device type
walletString(20)Wallet type
eft_trade_noString(28)eftPay order number
fee_typeString(5)Currency
transaction_amountString(8)Transaction amount
tidString(20)Terminal number, return when the consumption request is sent

{
    "service": "service.wechat.web.PreOrder",
    "user_confirm_key": "S0003469",
    "payType": "WeChat",
    "wallet": "WECHATCN",
    "pay_scene": "WEB",
    "transaction_amount": "0.53",
    "out_trade_no": "rrn_1686280005998",
    "subject": "test",
    "body": "test",
    "time": "20230609110645",
    "sign": "9878e9445e4e138e5fed29f36eea229767d6263678ea4aa5e48d1b53aacbcff8",
    "tid": "",
    "buyerType": "others",
    "fee_type": "HKD",
    "notify_url": "https://www.merchant.com/notify/receive",
    "return_url": "https://www.merchant.com/return/page"
}

{
    "user_confirm_key": "S0003469",
    "return_status": "00",
    "return_char": "",
    "wallet": "ALIPAYHK",
    "pay_apptrade": "https://vmp.eftpay.com.cn/VMP/web/payPage?userkey=12345678&outTradeNo=20190824010716&sign=5c24f30f758d86e2ba1cc1a291aa6d392f563180584f071d2d725eff52947f05",
    "subject": "test测试",
    "transaction_amount": "0.04",
    "eft_trade_no": "08520005269190824010701722",
    "sign": "26c89dd6684dd6f60569a502c920793ca82bb39f86fe0250bdb2256db8100d11",
    "fee_type": "HKD",
    "tid": "tid_3378",
    "buyerType": "andriod",
    "out_trade_no": "rrn_1686280006002",
    "time": "20230609110646",
    "payType": "Alipay"
}

service.wechat.web.PreOrder

WeChat Web payment page
WeChat Web payment page

service.mpgs.web.PreOrder

MPGS payment page
MPGS payment page

service.unionpay.online.web.PreOrder

UPOP payment page
UPOP payment page

service.bocvmp.unionpay.web.PreOrder

BOCVMPUPW payment page
BOCVMPUPW payment page