无SDK对接API
请尽量使用最新版本的官方 SDK,本文档仅供官方未提供SDK的开发者参考。
注意: 未特殊说明的情况下,编码格式默认为 UTF-8。
1.构造请求参数
1.1 请求头
| Field | Type | Description |
|---|---|---|
| Authorization | Required | 请求接口有效Token |
| Date | Required | The date in RFC1123 format: Thu, 18 Jul 2019 00:18:03 GMT |
| Host | Required | The endpoint for the transaction. Valid values:Live: gateway.pingpongx.com Sandbox: sandbox-gateway.pingpongx.com test-gateway.pingpongx.com |
| Digest | Required | It is a hash of the JSON payload made using a SHA-256 hashing algorithm. Send this header field with empty string when GET request |
| Signature | Required | 鉴权认证机制 |
1.2 请求参数
请查看具体的 API 文档。
| 参数名 | 参数说明 |
|---|---|
| 业务参数 key | 业务参数 value |
| …… | …… |
1.3 请求参数签名
具体签名方法参考:鉴权认证机制
1.4 请求示例
curl --location 'http://test-gateway.pingpongx.com/v1/mid-open-api/va/create' \
--header 'Digest: SHA-256=hR9BkghkBO9fNDAWRCB/p2AgcxwU/klq18cRFIzF7Nc=' \
--header 'Host: test-gateway.pingpongx.com' \
--header 'Date: Thu, 24 Aug 2023 16:28:46 GMT' \
--header 'Signature: Signature keyId="803114001032767",created=1692865727,algorithm="hmac-sha256",headers="(request-target) host date digest",signature="1JWPbX2SzsV+9FyhQO7jQ2B9ARVv5vNQwEl0athHWh4="' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJQaW5nUG9uZyIsImRpc3RyaWJ1dGUiOjE2OTI4NDIwMTgsImFwcF9pZCI6IjgwMzExNDAwMTAzMjc2NyIsInZlcnNpb24iOiJ2MiJ9.kdqS07tVZx-htHg2zvFJ2OK_u9dRsNFOOTseVTmQiAo' \
--data '{
"client_id": "Test123456"
}'
2. 发起请求
2.1 构造请求地址
完整请求路径由 serverRoot + apiUri 拼接而成,例如:https://gateway.pingpongx.com/v1/mid-open-api/va/create 。
PingPong 服务地址 serverRoot
请求服务路径 apiUri
申请收款账号的 apiUri 为 /v1/mid-open-api/va/create。
2.2 根据 API 文档要求发起 POST/GET 请求
3. 响应处理
3.1 通用响应体
| Parameter | Type | Required | Description |
|---|---|---|---|
| code | int | M | 响应码,200为成功,其余为失败,返回错误详细信息 getToken接口返回为0 |
| message | string(255) | M | code!=200时返回错误详细信息描述 |
| data | object | C | 响应体,具体见各接口说明 |
3.1.1 成功返回响应示例
{
"code": 200,
"data": {
"partnerOrderId": "Test2023082509123627",
"status": "PROCESSING"
},
"message": "SUCCESS"
}
3.1.2 失败请求返回的响应体结构示例
{
"code": 900002,
"data": null,
"message": "client_id is empty"
}