查询
读调用是签名 GET:无 body、不加密,query 参与签名。在限流内可以任意频率调用,也是错误一章里所有"结果未知"情形的处置工具。
方法
| 用途 | Go | JavaScript | Python | PHP | Java |
|---|---|---|---|---|---|
| 按平台单号查代收 | QueryPaymentByOrderNo | queryPaymentByOrderNo | query_payment_by_order_no | queryPaymentByOrderNo | queryPaymentByOrderNo |
| 按商户单号查代收 | QueryPaymentByMerchantOrderNo | queryPaymentByMerchantOrderNo | query_payment_by_merchant_order_no | queryPaymentByMerchantOrderNo | queryPaymentByMerchantOrderNo |
| 按平台单号查代付 | QueryPayoutByOrderNo | queryPayoutByOrderNo | query_payout_by_order_no | queryPayoutByOrderNo | queryPayoutByOrderNo |
| 按商户单号查代付 | QueryPayoutByMerchantOrderNo | queryPayoutByMerchantOrderNo | query_payout_by_merchant_order_no | queryPayoutByMerchantOrderNo | queryPayoutByMerchantOrderNo |
| 余额 | GetBalance(currency) | getBalance(currency) | get_balance(currency) | getBalance($currency) | getBalance(currency) |
| 美元汇率 | GetUSDRate(currency, payMethod) | getUsdRate(currency, payMethod) | get_usd_rate(currency, pay_method) | getUsdRate($currency, $payMethod) | getUsdRate(currency, payMethod) |
| 代付回单 | GetPayoutReceipt(orderNo) | getPayoutReceipt(orderNo) | get_payout_receipt(order_no) | getPayoutReceipt($orderNo) | getPayoutReceipt(orderNo) |
空白参数会在本地被当作请求错误拒绝。订单不存在时返回 msg 为 ORDER_NOT_FOUND 的 API 错误。
查询订单
- Go
- JavaScript
- Python
- PHP
- Java
order, err := c.QueryPaymentByMerchantOrderNo(ctx, "M202605060001")
if apiErr, ok := deepayment.AsAPIError(err); ok && apiErr.Msg == deepayment.MsgOrderNotFound {
// 这个号从未用过,可以用它创建
}
import { APIError, MSG } from '@support-deepayment/sdk';
try {
const order = await client.queryPaymentByMerchantOrderNo('M202605060001');
} catch (err) {
if (err instanceof APIError && err.msg === MSG.ORDER_NOT_FOUND) {
// 这个号从未用过,可以用它创建
}
}
from deepayment import APIError
from deepayment.errors import MSG_ORDER_NOT_FOUND
try:
order = client.query_payment_by_merchant_order_no("M202605060001")
except APIError as e:
if e.msg == MSG_ORDER_NOT_FOUND:
... # 这个号从未用过,可以用它创建
try {
$order = $client->queryPaymentByMerchantOrderNo('M202605060001');
} catch (ApiException $e) {
if ($e->msg === 'ORDER_NOT_FOUND') {
// 这个号从未用过,可以用它创建
}
}
try {
Map<String, Object> order = client.queryPaymentByMerchantOrderNo("M202605060001");
} catch (DeepaymentException.Api e) {
if ("ORDER_NOT_FOUND".equals(e.msg)) {
// 这个号从未用过,可以用它创建
}
}
返回对象与创建时相同,见订单对象。查询结果是权威的:webhook 与本地状态冲突时,以查询为准。
余额
返回一个币种的余额,均为 decimal 字符串:balance、lockBalance、paymentBalance、paymentLockBalance、payoutBalance、payoutLockBalance。锁定余额被进行中的代付占用,不能用于新代付。
美元汇率
按币种和支付方式返回 usdRate,decimal 字符串。仅供展示和对账参考;订单的结算金额以订单自身的 paidAmount 为准。
代付回单
代付到达 SUCCEEDED 后可用。返回 orderNo、amount、currency、timestamp、渠道流水号、sourceAccount 与 destinationAccount(各含 name、taxId、taxType、key 和一个 bank 块),以及渠道提供回单文件时的 url。渠道没有的字段为空。