Documentation/Référence API

API REFERENCE

Créer une répartition de paiement

POSThttps://mapi.yabandpay.com/Payments
Live API
API PLAYGROUND · Live API

Créer une répartition de paiement

POSThttps://mapi.yabandpay.com/Payments
Automatically signed with your credentials

Request parameters10

Required fields first

创建分账

commandRequiredstringdata.commandcreateSplitPayment
trade_idRequiredstringdata.trade_id已支付订单YabandPay订单的trade_id
split_solution_idRequiredstringdata.split_solution_id后台配置的分账方案id
currencyRequiredstringdata.currency原始订单的结算货币,Settlement Currency
notify_urlRequiredstringdata.notify_url分账异步通知地址
nonce_stringRequiredstringdata.nonce_string随机字符串,不长于32位
split_completedRequiredintegerdata.split_completed是否完成分账,0 : 否,1 : 是
reference_idRequiredstringdata.reference_id商户方自定义的分账id,不长于32位,不能重复
receiversRequiredstringdata.receivers分账接收方信息,由二维数组通过json_encode转换的json字符串,json格式
Optional parameters 1
referenceOptionalstringdata.reference描述信息,不长于128位

Credentials stay on this page. Your secret key is never stored or sent to the documentation server.

Paramètres

ParameterTypeDescriptionObligatoire
data.commandstringcreateSplitPayment✓
data.trade_idstring已支付订单YabandPay订单的trade_id✓
data.split_solution_idstring后台配置的分账方案id✓
data.currencystring原始订单的结算货币,Settlement Currency✓
data.notify_urlstring分账异步通知地址✓
data.nonce_stringstring随机字符串,不长于32位✓
data.split_completedinteger是否完成分账,0 : 否,1 : 是✓
data.reference_idstring商户方自定义的分账id,不长于32位,不能重复✓
data.referencestring描述信息,不长于128位—
data.receiversstring分账接收方信息,由二维数组通过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 :

  1. Une même commande de paiement permet de créer au maximum 10 répartitions ;
  1. Avant d’appeler cette API, vous devez configurer une règle de répartition et obtenir son approbation ;
  1. Lorsque split_completed vaut 1, la répartition du paiement est terminée et aucune autre répartition ne peut être lancée.
ParamètreTypeDescriptionObligatoire
userStringUID du compte super administrateurObligatoire
signStringSignatureObligatoire
methodStringv3.SplitPaymentObligatoire
timeLongTimestampObligatoire
  • 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.roleDescription
1Sous-marchand
2Fournisseur
3Distributeur
4Service de retenue et de reversement des taxes
5Services techniques
6Influenceur
7Autre

Exemple de signature :

Paramètres triés et concaténés dans une chaîne de requête au format URL

"command=createSplitPayment&currency=EUR&method=v3.SplitPayment&nonce_string=1704693939376&notify_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ètreTypeDescription
userStringUID du compte caissier
split_idStringNuméro d’ordre de répartition du paiement généré lors de sa création
trade_idStringtrade_id de la commande YabandPay
split_solution_idStringID de la règle de répartition du paiement
stateStringStatus: Processing, Success, Failed, Cancelled
merchant_midStringMID du marchand qui répartit le paiement
merchant_nameStringNom du marchand qui répartit le paiement
created_atStringHorodatage de création
currencyStringDevise de règlement de la commande, Settlement Currency
notify_urlStringURL de notification asynchrone
split_completedStringIndique si la répartition du paiement est terminée : 0 : Non, 1 : Oui
reference_idStringID de répartition de paiement du marchand, limité à 32 caractères
referenceStringDescription, limitée à 128 caractères
typeStringType : splitPayment ou splitRefund
receiversStringInformations du bénéficiaire de la répartition au format JSON
receivers.merchant_midStringMID du bénéficiaire de la répartition
receivers.merchant_nameStringNom du marchand bénéficiaire de la répartition
receivers.split_detail_idStringNuméro de détail de la répartition généré lors de sa création
receivers.detail_reference_idStringNuméro de détail de la répartition du marchand
receivers.split_typeStringType de détail de la répartition : Split ou Return
receivers.split_amountStringMontant réparti
receivers.roleStringRôle du bénéficiaire de la répartition
receivers.resultStringStatus: Processing, Success, Failed, Cancelled
receivers.descriptionStringDescription du détail de la répartition
receivers.error_msgStringMessage d’erreur du détail de la répartition, renseigné en cas d’échec