API REFERENCE
Créer une répartition de paiement
Paramètres
| Parameter | Type | Description | Obligatoire |
|---|---|---|---|
| data.command | string | createSplitPayment | ✓ |
| data.trade_id | string | 已支付订单YabandPay订单的trade_id | ✓ |
| data.split_solution_id | string | 后台配置的分账方案id | ✓ |
| data.currency | string | 原始订单的结算货币,Settlement Currency | ✓ |
| data.notify_url | string | 分账异步通知地址 | ✓ |
| data.nonce_string | string | 随机字符串,不长于32位 | ✓ |
| data.split_completed | integer | 是否完成分账,0 : 否,1 : 是 | ✓ |
| data.reference_id | string | 商户方自定义的分账id,不长于32位,不能重复 | ✓ |
| data.reference | string | 描述信息,不长于128位 | — |
| data.receivers | string | 分账接收方信息,由二维数组通过json_encode转换的json字符串,json格式 | ✓ |
Conseil
YabandPay envoie les notifications asynchrones depuis les adresses IP ci-dessous. Nous vous recommandons de les ajouter à la liste d’autorisation de votre pare-feu.
8.211.41.31 8.211.10.244 8.211.8.123
Cette API crée une répartition du paiement pour une commande YabandPay payée avec succès.
Conseil
Remarque :
- Une même commande de paiement permet de créer au maximum 10 répartitions ;
- Avant d’appeler cette API, vous devez configurer une règle de répartition et obtenir son approbation ;
- Lorsque split_completed vaut 1, la répartition du paiement est terminée et aucune autre répartition ne peut être lancée.
| Paramètre | Type | Description | Obligatoire |
|---|---|---|---|
| user | String | UID du compte super administrateur | Obligatoire |
| sign | String | Signature | Obligatoire |
| method | String | v3.SplitPayment | Obligatoire |
| time | Long | Timestamp | Obligatoire |
- Parameters | Paramètre | Type | Description | Obligatoire | |:--- |:--- |:--- |:--- | | command | String | createSplitPayment | Obligatoire | | trade_id | String | trade_id de la commande YabandPay payée | Obligatoire | | split_solution_id | String | ID de la règle de répartition configurée dans le portail de gestion | Obligatoire | | currency | String | Devise de règlement de la commande d’origine, Settlement Currency | Obligatoire | | notify_url | String | URL de notification asynchrone de la répartition du paiement | Obligatoire | | nonce_string | String | Chaîne aléatoire de 32 caractères maximum | Obligatoire | | split_completed | String | Indique si la répartition du paiement est terminée : 0 : Non, 1 : Oui | Obligatoire | | reference_id | String | ID unique de répartition du paiement défini par le marchand, limité à 32 caractères | Obligatoire | | reference| String | Description, limitée à 128 caractères| Facultatif| | receivers | String | Informations du bénéficiaire de la répartition : chaîne JSON générée à partir d’un tableau à deux dimensions avec json_encode | Obligatoire pour répartir un paiement. Omettez ce paramètre si vous souhaitez uniquement marquer la commande comme entièrement répartie sans fournir d’informations sur les bénéficiaires. | | receivers.mid | String | MID du bénéficiaire de la répartition | Obligatoire pour répartir un paiement | | receivers.detail_reference_id | String | Numéro de détail personnalisé de la répartition pour le bénéficiaire | Obligatoire pour répartir un paiement | | receivers.split_amount | String | Montant réparti ; par exemple, 24.99 doit être indiqué comme 24.99 | Obligatoire pour répartir un paiement | | receivers.role | String | Rôle du bénéficiaire de la répartition | Obligatoire pour répartir un paiement | | receivers.description | String | Description du détail de la répartition | Facultatif pour répartir un paiement |
Rôles des bénéficiaires
| Paramètre receivers.role | Description |
|---|---|
| 1 | Sous-marchand |
| 2 | Fournisseur |
| 3 | Distributeur |
| 4 | Service de retenue et de reversement des taxes |
| 5 | Services techniques |
| 6 | Influenceur |
| 7 | Autre |
Exemple de signature :
Paramètres triés et concaténés dans une chaîne de requête au format URL
"command=createSplitPayment¤cy=EUR&method=v3.SplitPayment&nonce_string=1704693939376¬ify_url=https://www.yabandpay.com/notify&receivers=[{"mid":104006,"split_amount":0.01,"role":7,"detail_reference_id":"123456-2","description":"分账描述2"}]&reference=1704693939376&reference_id=1704693939376&split_completed=0&split_solution_id=102&time=1704693939&trade_id=23a199b8-b82b-81b0-a4cd-8485ca4feb3c&user=9212776037"
Signer stringA avec secret_key
La signature obtenue est :
"YOUR_SIGNATURE"
Exemple de requête :
{
"user": "9212776037",
"sign": "YOUR_SIGNATURE",
"method": "v3.SplitPayment",
"time": 1704693939,
"data": {
"command": "createSplitPayment",
"trade_id": "23a199b8-b82b-81b0-a4cd-8485ca4feb3c",
"split_solution_id": "102",
"currency": "EUR",
"notify_url": "https://www.yabandpay.com/notify",
"nonce_string": "1704693939376",
"split_completed": 0,
"reference_id": "1704693939376",
"reference": "1704693939376",
"receivers": "[{\"mid\":104006,\"split_amount\":0.01,\"role\":7,\"detail_reference_id\":\"123456-2\",\"description\":\"分账描述2\"}]"
}
}
Exemple de réponse :
{
"status": true,
"code": "200",
"data": {
"user": "9212776037",
"split_id": "20240108162134979318",
"trade_id": "23a199b8-b82b-81b0-a4cd-8485ca4feb3c",
"split_solution_id": "102",
"state": "Processing",
"merchant_mid": "102300",
"merchant_name": "Yaband Telecom B.V.",
"created_at": "1704702094",
"currency": "EUR",
"notify_url": "https://www.yabandpay.com/notify",
"split_completed": 0,
"reference_id": "1704693939376",
"reference": "1704693939376",
"receivers": [
{
"merchant_mid": "104006",
"merchant_name": "ybtest",
"split_detail_id": "20240108162134979318-1",
"detail_reference_id": "123456-2",
"split_type": "Split",
"split_amount": "0.01",
"role": "7",
"result": "Processing",
"description": "分账描述2",
"error_msg": null
}
],
"type": "splitPayment"
},
"message": ""
}
- Response Parameters
| Paramètre | Type | Description |
|---|---|---|
| user | String | UID du compte caissier |
| split_id | String | Numéro d’ordre de répartition du paiement généré lors de sa création |
| trade_id | String | trade_id de la commande YabandPay |
| split_solution_id | String | ID de la règle de répartition du paiement |
| state | String | Status: Processing, Success, Failed, Cancelled |
| merchant_mid | String | MID du marchand qui répartit le paiement |
| merchant_name | String | Nom du marchand qui répartit le paiement |
| created_at | String | Horodatage de création |
| currency | String | Devise de règlement de la commande, Settlement Currency |
| notify_url | String | URL de notification asynchrone |
| split_completed | String | Indique si la répartition du paiement est terminée : 0 : Non, 1 : Oui |
| reference_id | String | ID de répartition de paiement du marchand, limité à 32 caractères |
| reference | String | Description, limitée à 128 caractères |
| type | String | Type : splitPayment ou splitRefund |
| receivers | String | Informations du bénéficiaire de la répartition au format JSON |
| receivers.merchant_mid | String | MID du bénéficiaire de la répartition |
| receivers.merchant_name | String | Nom du marchand bénéficiaire de la répartition |
| receivers.split_detail_id | String | Numéro de détail de la répartition généré lors de sa création |
| receivers.detail_reference_id | String | Numéro de détail de la répartition du marchand |
| receivers.split_type | String | Type de détail de la répartition : Split ou Return |
| receivers.split_amount | String | Montant réparti |
| receivers.role | String | Rôle du bénéficiaire de la répartition |
| receivers.result | String | Status: Processing, Success, Failed, Cancelled |
| receivers.description | String | Description du détail de la répartition |
| receivers.error_msg | String | Message d’erreur du détail de la répartition, renseigné en cas d’échec |
