服务端接口文档
一.生成支付二维码
请求方法 : post
请求路径: /wap/createPaymentCode
请求参数:
字段名 |
说明 |
类型 |
示例 |
price |
金额 |
int |
100 |
outOrderId |
订单号,唯一值 |
string |
asw123456 |
appId |
添加应用后生成的应用id |
string |
28703599 |
appKey |
添加应用后生成的key |
string |
d45d2f578263149efe8e861d080abf25 |
sign |
签名,规则见附件 |
string |
|
mchId |
商户id |
string |
|
返回结果
字段名 |
说明 |
示例 |
code |
请求结果代码 |
code=10000 表示成功,其它的见附件 |
msg |
请求结果提示 |
成功 |
data |
请求结果包含的数据price:价格页面展示用,payCode:二维码数据 |
price=1,payCode=fjx-1-0f7027436de659ac95703ed6da22ebe8-sw123456-100 |
二.生成app支付订单
请求方法 : post
请求路径 /app/addorder
请求参数:
字段名 |
说明 |
类型 |
appId |
添加应用后生成的应用id |
string |
appKey |
添加应用后生成的key |
string |
price |
金额 |
int |
outOrderId |
订单号 |
string |
extension |
订单说明 |
string |
sign |
签名,规则见附件 |
|
mchId |
商户id |
string |
返回结果
字段名 |
说明 |
示例 |
code |
请求结果代码 |
code=10000 表示成功,其它的见附件 |
msg |
请求结果提示 |
成功 |
data |
请求结果包含的数据orderString:支付信息字符串 |
orderString=eyJhcHBJZCI6IjI4NzAzNTk5IiwicHJlcGF5SWQiOiJtbzIwMjAwMzA1MjExNDA5NTc5MDQ5MDEiLCJhcHBLZXkiOiJkNDVkMmY1NzgyNjMxNDllZmU4ZTg2MWQwODBhYmYyNSIsInRpbWVzdGFtcCI6MTU4MzQxNDA0OSwibmFtZSI6Ilx1OWE2Y1x1NWM5Ylx1NTcyOFx1N2ViZiIsImV4dGVuc2lvbiI6Ilx1NmQ0Ylx1OGJkNSIsInByaWNlIjoiMTA3Iiwic2lnbiI6IkM4QTJBODdCQzJDMTkwQUQyQjk0NUY1OTVGNUYxN0FFIn0= |
三.检查订单
请求方式 post
请求路径 /app/checkOrder
请求参数:
字段名 |
说明 |
类型 |
示例 |
appId |
添加应用后生成的应用id |
string |
|
appKey |
添加应用后生成的key |
string |
|
orderIds |
要检查的订单号,多个订单号用逗号分隔 |
string |
12345,456 |
sign |
签名,见附件 |
|
|
mchId |
商户id |
string |
|
返回结果
字段名 |
说明 |
示例 |
code |
请求结果代码 |
code=10000 表示成功,其它的见附件 |
msg |
请求结果提示 |
成功 |
data |
请求结果包含的数据orderId:查询的订单号status:状态,1:付款成功,2:等待付款,3:取消msg:提示语 |
|
四、付款码生成订单
请求方式 post
请求路径 /qrcode/addorder
请求参数
字段名 |
说明 |
类型 |
示例 |
appId |
添加应用后生成的应用id |
string |
|
appKey |
添加应用后生成的key |
string |
|
price |
金额 |
int |
|
outOrderId |
订单号 |
string |
|
extension |
订单说明 |
string |
|
sign |
签名,规则见附件 |
|
|
mchId |
商户id |
string |
|
返回结果
字段名 |
说明 |
示例 |
code |
请求结果代码 |
code=10000 表示成功,其它的见附件 |
msg |
请求结果提示 |
成功 |
data |
请求结果包含的数据orderString:支付信息字符串 |
orderString=eyJhcHBJZCI6IjI4NzAzNTk5IiwicHJlcGF5SWQiOiJtbzIwMjAwMzA1MjExNDA5NTc5MDQ5MDEiLCJhcHBLZXkiOiJkNDVkMmY1NzgyNjMxNDllZmU4ZTg2MWQwODBhYmYyNSIsInRpbWVzdGFtcCI6MTU4MzQxNDA0OSwibmFtZSI6Ilx1OWE2Y1x1NWM5Ylx1NTcyOFx1N2ViZiIsImV4dGVuc2lvbiI6Ilx1NmQ0Ylx1OGJkNSIsInByaWNlIjoiMTA3Iiwic2lnbiI6IkM4QTJBODdCQzJDMTkwQUQyQjk0NUY1OTVGNUYxN0FFIn0= |
五、扫码枪扫码提交支付
请求方式 post
请求路径 /qrcode/pay
请求参数
字段名 |
说明 |
类型 |
示例 |
appId |
添加应用后生成的应用id |
string |
|
appKey |
添加应用后生成的key |
string |
|
orderString |
订单信息 |
orderString=eyJhcHBJZCI6IjI4NzAzNTk5IiwicHJlcGF5SWQiOiJtbzIwMjAwMzA1MjExNDA5NTc5MDQ5MDEiLCJhcHBLZXkiOiJkNDVkMmY1NzgyNjMxNDllZmU4ZTg2MWQwODBhYmYyNSIsInRpbWVzdGFtcCI6MTU4MzQxNDA0OSwibmFtZSI6Ilx1OWE2Y1x1NWM5Ylx1NTcyOFx1N2ViZiIsImV4dGVuc2lvbiI6Ilx1NmQ0Ylx1OGJkNSIsInByaWNlIjoiMTA3Iiwic2lnbiI6IkM4QTJBODdCQzJDMTkwQUQyQjk0NUY1OTVGNUYxN0FFIn0= |
|
scanCode |
条码信息 |
string |
fjx:UVXWP5e86fdf3c4ea79.26506992 |
sign |
签名,见附件 |
|
|
mchId |
商户id |
string |
|
返回结果
字段名 |
说明 |
示例 |
code |
请求结果代码 |
code=10000 表示成功,其它的见附件 |
msg |
请求结果提示 |
成功 |
附件一错误码
code |
说明 |
10000 |
成功 |
10001 |
失败 |
10005 |
参数有误 |
10006 |
商户不存在 |
10007 |
该商户被禁用 |
10008 |
应用不存在 |
10009 |
请先申请mg扫码支付接口 |
10010 |
不支持此类扫码支付 |
10011 |
订单号重复 |
10012 |
请先申请mg-app支付接口 |
10013 |
生成订单失败 |
10014 |
订单不存在 |
10015 |
订单已经支付了 |
10016 |
订单超时取消 |
10017 |
请先申请mgm付款码支付接口 |
附件二签名规则说明
1.将要传过来的参数组成一个数组,数组添加timestamp元素(当前时间戳,精确到秒),将数组的键值按照自然排序从大到小排序
2.将数组组成 key=val&key=val的形式的字符串,用md5加密一次(32位小写),得到sign
3.将sign添加到参数数组中
Documentation de l'interface serveur
1.Génération d'un Qr code de paiement
Méthode demandée : post
Chemin d'accés demandé: /wap/createPaymentCode
Paramètre demandé:
Nom du champ |
Descriptions |
Types |
Exemple |
price |
Montant |
int |
100 |
outOrderId |
No. du commande,Valeur unique |
string |
asw123456 |
appId |
Ajouter l'appId généré |
string |
28703599 |
appKey |
Ajouter l'appKey généré |
string |
d45d2f578263149efe8e861d080abf25 |
sign |
Signature,Voir l'annexe pour plus de précisions sur les règlements |
string |
|
mchId |
id du Marchand |
string |
|
Retour du résultat
Nom du champ |
Descriptions |
Exemple |
code |
Code source de résultat demandé |
code=10000 Signifie opération réussie,voir annexe pour plus de précisions |
msg |
Invite de résultat demandé |
Réussi |
data |
Résultat demandé qui contient les donées.price: Page des tarifs exposée.payCode:Donnés du Qr code |
price=1,payCode=fjx-1-0f7027436de659ac95703ed6da22ebe8-sw123456-100 |
2.Génération de commande par app-paiement
Méthode demandée:post
Chemin d'accés demandé /app/addorder
Paramètre demandé:
Nom du champ |
Descriptions |
Types |
appId |
Ajouter l'appId généré |
string |
appKey |
Ajouter l'appKey généré |
string |
price |
Montant |
int |
outOrderId |
No.du commande |
string |
extension |
Déscription du commande |
string |
sign |
Signature,Voir annexe pour plus de précisions sur les règlements |
|
mchId |
id Marchand |
string |
Retour du résultat
Nom du champ |
Descriptions |
Exemple |
code |
Code source de résultat demandé |
code=10000 signifie opération réussie,voir annexe pour plus de précisions |
msg |
Invite de résultat demandé |
Réussi |
data |
Demander le résultat qui contient tous les données orderString:Chaîne de caractères de l'information sur le paiement |
orderString=eyJhcHBJZCI6IjI4NzAzNTk5IiwicHJlcGF5SWQiOiJtbzIwMjAwMzA1MjExNDA5NTc5MDQ5MDEiLCJhcHBLZXkiOiJkNDVkMmY1NzgyNjMxNDllZmU4ZTg2MWQwODBhYmYyNSIsInRpbWVzdGFtcCI6MTU4MzQxNDA0OSwibmFtZSI6Ilx1OWE2Y1x1NWM5Ylx1NTcyOFx1N2ViZiIsImV4dGVuc2lvbiI6Ilx1NmQ0Ylx1OGJkNSIsInByaWNlIjoiMTA3Iiwic2lnbiI6IkM4QTJBODdCQzJDMTkwQUQyQjk0NUY1OTVGNUYxN0FFIn0= |
3.Vérification de la commande
Méthode demandée post
Chemin d'accés demande /app/checkOrder
Paramètre demandé:
Nom du champ |
Descriptions |
Types |
Exemple |
appId |
Ajouter l'appid généré |
string |
|
appKey |
Ajouter l'appkey généré |
string |
|
orderIds |
Il faut vérifier le No.du commande,les commandes sont distinguées à l'aide des virgules |
string |
12345,456 |
sign |
Signature,Voir annexe |
|
|
mchId |
id Marchand |
string |
|
Retour de résultat
Nom du champ |
Description |
Exemple |
code |
Code source de résultat demandé |
code=10000 signifie opération réussie ,Voir annexe pour plus de précision |
msg |
invite de résultat demandé |
Réussi |
data |
Résultat demandé qui contient tous les données orderId:Consultation du No. de commande status:Statuts,1:Paiement réussi,2:Paiement en attente,3:Annulé msg:invite vocale |
|
4、Génération de commande par Qr code de paiement
Méthode demandée post
Chemin d'accés demandé /qrcode/addorder
Paramètre demandé
Nom du champ |
Description |
Types |
Exemples |
appId |
Ajouter l'appId généré |
string |
|
appKey |
Ajouter l'appKey généré |
string |
|
price |
Montant |
int |
|
outOrderId |
No.de commande |
string |
|
extension |
Description de la commande |
string |
|
sign |
Signature,Voir annexe pour plus plus de précisions sur les règlements |
|
|
mchId |
id du Marchand |
string |
|
Retour de résultat
Nom du champ |
Descriptions |
Exemples |
code |
Code souce de résultat demandé |
code=10000 signifie opération réussie,voir annexe pour plus de précisions |
msg |
Invite de résultat demandée |
Réussi |
data |
Résultat demandé qui contient les données orderString:Chaîne de caractères de l'information sur le paiement |
orderString=eyJhcHBJZCI6IjI4NzAzNTk5IiwicHJlcGF5SWQiOiJtbzIwMjAwMzA1MjExNDA5NTc5MDQ5MDEiLCJhcHBLZXkiOiJkNDVkMmY1NzgyNjMxNDllZmU4ZTg2MWQwODBhYmYyNSIsInRpbWVzdGFtcCI6MTU4MzQxNDA0OSwibmFtZSI6Ilx1OWE2Y1x1NWM5Ylx1NTcyOFx1N2ViZiIsImV4dGVuc2lvbiI6Ilx1NmQ0Ylx1OGJkNSIsInByaWNlIjoiMTA3Iiwic2lnbiI6IkM4QTJBODdCQzJDMTkwQUQyQjk0NUY1OTVGNUYxN0FFIn0= |
5、Soumission de paiement en numérisant le QR code à l'aide d'un lecteur de Qr code
Méthode demandée post
Chemin d'accès demandé /qrcode/pay
Paramètre demandé
Nom du champ |
Description |
Types |
Exemples |
appId |
Ajouter l'appId généré |
string |
|
appKey |
Ajouter l'appKey généré |
string |
|
orderString |
Information sur la commande |
orderString=eyJhcHBJZCI6IjI4NzAzNTk5IiwicHJlcGF5SWQiOiJtbzIwMjAwMzA1MjExNDA5NTc5MDQ5MDEiLCJhcHBLZXkiOiJkNDVkMmY1NzgyNjMxNDllZmU4ZTg2MWQwODBhYmYyNSIsInRpbWVzdGFtcCI6MTU4MzQxNDA0OSwibmFtZSI6Ilx1OWE2Y1x1NWM5Ylx1NTcyOFx1N2ViZiIsImV4dGVuc2lvbiI6Ilx1NmQ0Ylx1OGJkNSIsInByaWNlIjoiMTA3Iiwic2lnbiI6IkM4QTJBODdCQzJDMTkwQUQyQjk0NUY1OTVGNUYxN0FFIn0= |
|
scanCode |
Information sur le code-barres |
string |
fjx:UVXWP5e86fdf3c4ea79.26506992 |
sign |
Signature,Voir annexe |
|
|
mchId |
id Marchand |
string |
|
Retour de résultat
Nom du champ |
Description |
Exemple |
code |
Code souce de résultat demandé |
code=10000 signifie opération réussie,voir annexe pour plus de précisions |
msg |
Invite de résultat demandé |
Réussi |
Annexe 1 Code d'erreur
code |
Description |
10000 |
Réussi |
10001 |
Echoué |
10005 |
Erreur du paramètre |
10006 |
L'utilisateur n'existe pas |
10007 |
Ce compte marchand a été désactivé |
10008 |
L'App n'existe pas |
10009 |
Veuillez d'abord demander une interface de paiement par numérisation mg |
10010 |
Ne supporte pas ce type de paiement par numérisation |
10011 |
Commande en double |
10012 |
Veuillez d'abord demander une interface de paiement par l'app-mg |
10013 |
Génération du commande échouée |
10014 |
La commande n'existe pas |
10015 |
Commande déjà payée |
10016 |
Commande expirée et annulée |
10017 |
Veuillez demander une interface de paiement par Qr code mgm |
Annexe II Explication des règlements et signature
1.Formez le tableau de paramètres de partage, ajoutezl'élément d'horodatage (horodatage actuel, précisement en secondes) dans le tableau et triez les valeurs clés du tableau selon l'ordre naturel du plus grand au plus petit
2.Transformez le tableau en une chaîne de la forme clé = val & clé = val, cryptez-le une fois avec md5 (minuscule 32 bits), obtenez le signe
3.Ajouter un signe au tableau de paramètres
Server interface documentation
1.Payment QR code generation
Requested method: post
Requested Access path: /wap/createPaymentCode
Requested parameter:
Field name |
Description |
Types |
Examples |
price |
Amount |
int |
100 |
outOrderId |
Order number,unique value |
string |
asw123456 |
appId |
Add the appId generated |
string |
28703599 |
appKey |
Add the appKey generated |
string |
d45d2f578263149efe8e861d080abf25 |
sign |
Signature,See the attachment for more details on the regulations. |
string |
|
mchId |
iMerchant Id |
string |
|
Return of results
Field name |
Instructions |
Exemples |
code |
Requested results source code |
code=10000 Means successful operation, see attachement for more details |
msg |
Requested result prompt |
Réussi |
data |
Requested result containing the data price:Page rates exposed,payCode:Qr code data |
price=1,payCode=fjx-1-0f7027436de659ac95703ed6da22ebe8-sw123456-100 |
2.App payment order generation
Requested method post
Requested access path /app/addorder
Request parameter:
Nom de domaine |
Instructions |
Types |
appId |
Add generated AppId |
string |
appKey |
Add generated AppKey |
string |
price |
Amount |
int |
outOrderId |
Order number |
string |
extension |
order description |
string |
sign |
Signature,See the attachment for more details on the regulations |
|
mchId |
Merchant Id |
string |
Return of results
Nom de domaine |
Instructions |
Exemples |
code |
Requested result source code |
code=10000 Means successful operation, see attachement for more details |
msg |
Requested result prompt |
Successful |
data |
Requested result containing the data orderString:Payment information character string |
orderString=eyJhcHBJZCI6IjI4NzAzNTk5IiwicHJlcGF5SWQiOiJtbzIwMjAwMzA1MjExNDA5NTc5MDQ5MDEiLCJhcHBLZXkiOiJkNDVkMmY1NzgyNjMxNDllZmU4ZTg2MWQwODBhYmYyNSIsInRpbWVzdGFtcCI6MTU4MzQxNDA0OSwibmFtZSI6Ilx1OWE2Y1x1NWM5Ylx1NTcyOFx1N2ViZiIsImV4dGVuc2lvbiI6Ilx1NmQ0Ylx1OGJkNSIsInByaWNlIjoiMTA3Iiwic2lnbiI6IkM4QTJBODdCQzJDMTkwQUQyQjk0NUY1OTVGNUYxN0FFIn0= |
3.Order verification
Request method post
Requested access path /app/checkOrder
Request parameter:
Field name |
Descriptions |
Types |
Examples |
appId |
Add generated appId |
string |
|
appKey |
Add generated appKey |
string |
|
orderIds |
It is necessary to check the Order No., the orders are distinguished using commas |
string |
12345,456 |
sign |
Signature,see attachement |
|
|
mchId |
Merchant Id |
string |
|
Return of results
Field name |
Description |
Examples |
code |
Requested result source code |
code=10000 Means successful operation, see attachement for more details |
msg |
Requested result prompt |
成功 |
data |
Requested result containing the data orderId:Order No.consultation status:Status,1:payment successful,2Pending,3:Cancel msg:oral prompt |
|
4、Payment Qr code order generation
Requested method post
Requested access path /qrcode/addorder
Requested parameter
Field name |
Descriptions |
Types |
Examples |
appId |
Add generated appId |
string |
|
appKey |
Add generated appKey |
string |
|
price |
Amount |
int |
|
outOrderId |
Order No |
string |
|
extension |
Order description |
string |
|
sign |
Signature,See the attachment for more details on the regulations |
|
|
mchId |
Merchant Id |
string |
|
Return of results
Field name |
Descriptions |
Examples |
code |
Requested result source code |
code=10000 Means successful operation, see attachement for more details |
msg |
Requested result prompt |
Successful |
data |
Requested result containing the data orderString:Payment information character string |
orderString=eyJhcHBJZCI6IjI4NzAzNTk5IiwicHJlcGF5SWQiOiJtbzIwMjAwMzA1MjExNDA5NTc5MDQ5MDEiLCJhcHBLZXkiOiJkNDVkMmY1NzgyNjMxNDllZmU4ZTg2MWQwODBhYmYyNSIsInRpbWVzdGFtcCI6MTU4MzQxNDA0OSwibmFtZSI6Ilx1OWE2Y1x1NWM5Ylx1NTcyOFx1N2ViZiIsImV4dGVuc2lvbiI6Ilx1NmQ0Ylx1OGJkNSIsInByaWNlIjoiMTA3Iiwic2lnbiI6IkM4QTJBODdCQzJDMTkwQUQyQjk0NUY1OTVGNUYxN0FFIn0= |
5、Payment submission by using Qr code reader
Requested method post
Requested access path /qrcode/pay
Requested parameter
Field name |
Descriptions |
Types |
Examples |
appId |
Add generated appId |
string |
|
appKey |
Add generated appKey |
string |
|
orderString |
Order information |
orderString=eyJhcHBJZCI6IjI4NzAzNTk5IiwicHJlcGF5SWQiOiJtbzIwMjAwMzA1MjExNDA5NTc5MDQ5MDEiLCJhcHBLZXkiOiJkNDVkMmY1NzgyNjMxNDllZmU4ZTg2MWQwODBhYmYyNSIsInRpbWVzdGFtcCI6MTU4MzQxNDA0OSwibmFtZSI6Ilx1OWE2Y1x1NWM5Ylx1NTcyOFx1N2ViZiIsImV4dGVuc2lvbiI6Ilx1NmQ0Ylx1OGJkNSIsInByaWNlIjoiMTA3Iiwic2lnbiI6IkM4QTJBODdCQzJDMTkwQUQyQjk0NUY1OTVGNUYxN0FFIn0= |
|
scanCode |
Barcode information |
string |
fjx:UVXWP5e86fdf3c4ea79.26506992 |
sign |
Signature,See attachment |
string |
|
mchId |
Merchant Id |
string |
|
Return of results
Field name |
Descriptions |
Examples |
code |
Requested result source code |
code=10000 Means successful operation, see attachement for more details |
msg |
Request result prompt |
Successful |
Attachement 1 Code error
code |
Description |
10000 |
Successful |
10001 |
Failed |
10005 |
Parameter error |
10006 |
Merchant does not exist |
10007 |
This merchant account has been deactivated |
10008 |
App does not exist |
10009 |
Please request a mg scan payment interface first |
10010 |
Does not support this type of payment by scanning |
10011 |
Duplicate order |
10012 |
Please request a mg-app payment interface first |
10013 |
Order generate failed |
10014 |
Order does not exist |
10015 |
Order already paid |
10016 |
Order expired,cancelled |
10017 |
Please request a mgm Qr code payment interface |
Attachement 2 Explanation of signature and regulations
1.Form the table of sharing parameters, add the timestamp element (current timestamp, precisely in seconds) in the table and sort the key values of the table according to the natural order from largest to smallest
2.Transform the table into a string of the form key = val & key = val, encrypt it once with md5 (lowercase 32 bit), get the sign
3.Add a sign to the parameter table