初级12 分钟阅读
PHP SDK
使用官方 PonponPay PHP SDK,在 Laravel、WordPress、WHMCS 或自定义 PHP 项目中快速完成创建订单、查询订单和 Webhook 验签。
如果你希望直接调用 HTTP 接口而不是使用 SDK 封装,可以先看 API Key 指南。
安装
composer require ponponpay/php-sdk初始化客户端
use PonponPay\PonponPay;
$ponponpay = new PonponPay('your-api-key', [
'api_url' => 'https://api.ponponpay.com',
'timeout' => 30,
]);创建订单
$order = $ponponpay->createOrder([
'mch_order_id' => 'ORDER_' . time(),
'currency' => 'USDT',
'network' => 'tron',
'amount' => 10.00,
'notify_url' => 'https://your-site.com/webhook.php',
'redirect_url' => 'https://your-site.com/success',
]);
echo $order->tradeId;
echo $order->paymentUrl;
echo $order->address;查询订单
$order = $ponponpay->getOrderByTradeId('T20240101120000123456');
echo $order->status;
echo $order->txHash;验证 Webhook 回调
SDK 内置了 HMAC-SHA256 签名验证、时间窗口校验和基于 nonce 的防重放保护。完整安全说明也建议同步查看 Webhook 安全文档。
use PonponPay\PonponPay;
use PonponPay\WebhookHandler;
use PonponPay\Exception\SignatureException;
$ponponpay = new PonponPay('your-api-key');
try {
$data = $ponponpay->webhook()->handle();
$status = WebhookHandler::resolveStatus($data);
if ($status === 'paid') {
// 在这里更新你的业务订单状态
}
http_response_code(200);
echo 'OK';
} catch (SignatureException $e) {
http_response_code($e->getHttpStatus());
echo $e->getMessage();
}SDK 方法一览
| 方法 | 返回值 | 说明 |
|---|---|---|
getPaymentMethods() | PaymentMethod[] | 获取当前商户可用的币种和链路组合。 |
createOrder(array $params) | Order | 创建支付订单,返回支付链接、收款地址和交易号。 |
getOrderByTradeId(string $tradeId) | Order | 通过 PonponPay 交易号查询订单。 |
getOrderByMchOrderId(string $mchOrderId) | Order | 通过商户自己的订单号查询订单。 |
getMerchantDetail() | Merchant | 获取当前 API Key 对应的商户信息。 |
webhook() | WebhookHandler | 创建一个复用同一 API Key 的回调验签器。 |
调试与本地测试
$ponponpay = new PonponPay('your-api-key', [
'debug' => true,
'debug_log_file' => '/tmp/ponponpay-debug.log',
]);SDK 仓库中也包含可直接运行的示例,例如 examples/create_order.php、examples/webhook.php,以及一个浏览器演示页面 demo-web/。
仓库地址
GitHub:useponponpay/php-sdk