API REFERENCE
Captura da autorização
Parâmetros
| Parameter | Type | Descrição | Obrigatório |
|---|---|---|---|
| data.trade_id | string | 对应预授权的trade_id | ✓ |
| data.amount | string | 金额数字。例如 € 24.99 应该写成24.99 | ✓ |
| data.currency | string | 货币代码,ISO 4217,例如EUR,CHF | ✓ |
| data.description | string | 订单描述 | ✓ |
| data.notify_url | string | 支付完成后异步通知地址 | ✓ |
| data.request_id | string | 请求id需保持唯一,建议24以上位数字+字母 | ✓ |
Aplica-se à captura após a autorização
Capture o pedido após a autorização bem-sucedida. A captura deve ocorrer em até 30 dias após a conclusão da autorização; caso contrário, ela expirará automaticamente.
A moeda da captura deve corresponder à moeda da autorização e o valor não pode exceder o valor originalmente autorizado.
É aceita apenas uma captura por transação autorizada. Não há suporte para várias capturas.
| Parâmetro | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| user | String | Conta de caixa UID | Obrigatório |
| sign | String | Signature | Obrigatório |
| method | String | v3.Capture | Obrigatório |
| time | Long | Timestamp | Obrigatório |
- Parâmetros
| Parâmetro | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| trade_id | String | trade_id of the authorization | Obrigatório |
| amount | String | Valor como cadeia numérica. Por exemplo, informe 24.99 for € 24.99. | Obrigatório |
| currency | String | Código da moeda ISO 4217 currency code, for example EUR or CHF | Obrigatório |
| description | String | Descrição do pedido | Obrigatório |
| notify_url | String | URL de notificação assíncrona após o pagamento | Obrigatório |
| request_id | String | ID de solicitação exclusivo; recomenda-se uma combinação de letras e números com pelo menos 24 characters is recommended | Obrigatório |
Exemplo de assinatura:
Parâmetros ordenados concatenados em uma cadeia de consulta no formato de URL
"amount=1¤cy=EUR&description=test&method=v3.Capture¬ify_url=https://www.yabandpay.com/notify&request_id=ca51f2fas3i0f8uiw7efj6oe4i2w1ghj&time=1720684254&trade_id=160899f3-f6d9-a8d8-ab5b-82eacdab9c5b&user=YOUR_CASHIER_UID"
Assine a stringA usando secret_key
A assinatura resultante é:
"YOUR_SIGNATURE"
Exemplo de solicitação:
{
"user": "YOUR_CASHIER_UID",
"sign": "YOUR_SIGNATURE",
"method": "v3.Capture",
"time": 1720684254,
"data": {
"description": "test",
"trade_id": "160899f3-f6d9-a8d8-ab5b-82eacdab9c5b",
"amount": "1",
"currency": "EUR",
"notify_url": "https://www.yabandpay.com/notify",
"request_id": "ca51f2fas3i0f8uiw7efj6oe4i2w1ghj"
}
}
Exemplo de resposta:
{
"status": true,
"code": "200",
"data": {
"order_id": "YOUR_ORDER_ID",
"trade_id": "160899f3-f6d9-a8d8-ab5b-82eacdab9c5b",
"amount": "1",
"currency": "EUR",
"state": "paid"},
"message": "",
"response_id": "202407111550570060848432"
}
Informações adicionais:
Resultado da resposta:
-
Uma solicitação bem-sucedida retorna "status": true.
-
Uma solicitação malsucedida retorna "status": false.
Recomendamos fortemente usar Query Order e Asynchronous Notifications para manter os status de pagamento corretos e atualizados.
Códigos de resposta:
| Status | Code | Message |
|---|---|---|
| true | 200 | |
| false | -1000 | Internal error |
| false | -403 | The signature Error |
| false | -2001 | The user not exist |
| false | -3001 | Required field is missing |
| false | -4118 | Incorrect request ID |
| false | -4089 | Exceed capture window |
| false | -4084 | The captured amount exceeds the original authorized amount |
| false | -4085 | The captured currency is different from the original authorization currency |
| false | -4024 | The original trade ID is incorrect |
