Skip to main content

建立分帳交易

平台可針對指定子特店的付款交易建立分帳交易,但僅能針對平台協助建立的付款交易發起分帳交易。

介面路徑

請求方式API 路徑
POST{DOMAIN_NAME} /api/v1/trade/split/create

請求電文

Http.header 參數

Content-TypeString必填
固定值:application/json
platformIdString必填
SLP 平台 ID,平台特店必填
merchantIdString必填
平台特店串接:SLP 分配的子特店 ID
apiKeyString必填
API 介面金鑰
requestIdString(32)必填
請求流水號,每個 HTTP 請求唯一
idempotentKeyString(32)選填
冪等 KEY

Http.body 封包

referenceOrderIdString(32)必填
特店分帳訂單號,由特店自訂。僅可使用英文字母與數字,長度為 16 至 32 字元
tradeOrderIdString(32)必填
SLP 付款交易訂單編號
finishBoolean必填
是否標記為此特店付款交易的最後一次分帳作業。true 表示本次分帳後不再建立新的分帳交易;false 表示後續仍會對此子特店付款交易繼續建立分帳交易

回應電文

處理結果 http.statusCode

* 500 /429 /400:處理異常

codeString必填
錯誤碼,錯誤碼及錯誤描述詳情查看: Server 錯誤碼
msgString必填
錯誤描述,錯誤碼及錯誤描述詳情查看: Server 錯誤碼

* 200:處理成功

splitIdString(32)必填
SLP 分帳流水號
referenceOrderIdString(32)選填
特店分帳訂單號,由特店自訂。僅可使用英文字母與數字,長度為 16 至 32 字元
tradeOrderIdString(32)選填
SLP 付款交易訂單編號
statusString(16)必填參考
分帳交易狀態
finishBoolean必填
是否標記為此特店付款交易的最後一次分帳作業。true 表示本次分帳後不再建立新的分帳交易;false 表示後續仍會對此子特店付款交易繼續建立分帳交易
POST/api/v1/trade/split/create

sandbox api

https://api-sandbox.shoplinepayments.com/api/v1/trade/split/create

live api

https://api.shoplinepayments.com/api/v1/trade/split/create
請求電文範例
<?php
$url = 'https://api-sandbox.shoplinepayments.com/api/v1/trade/split/create';

// 正確格式的 headers 陣列
$headers = [
"Content-Type: application/json",
"platformId: <YOUR-PLATFORM-ID>",
"merchantId: <YOUR-MERCHANT-ID>",
"apiKey: <YOUR-API-KEY>",
"requestId: $requestId",
"idempotentKey: $idempotentKey"
];

// 正確格式的 Request Data
$data = [
"referenceOrderId" => $referenceOrderId,
"tradeOrderId" => $tradeOrderId,
"finish" => true,
"splitData" => [
[
"amount" => [
"value" => 100,
"currency" => "TWD"
],
"destination" => "<YOUR-PLATFORM-ID>",
"description" => "description",
"reason" => "SERVICE_FEE"
]
]
];

print_r($data);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => $headers
]);

$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

// 回覆結果處理
$result = json_decode($response, true);
echo "HTTP Code: $httpCode";
print_r($result);
回應電文範例
{
"splitId": "sp_10000000000000000001",
"referenceOrderId": "ORDER202607240001",
"tradeOrderId": "10000000000000000001",
"status": "PROCESSING",
"finish": true,
"splitData": [
{
"amount": {
"value": 100,
"currency": "TWD"
},
"destination": "<YOUR-PLATFORM-ID>",
"description": "description",
"reason": "SERVICE_FEE"
}
]
}