5分で統合をテストする
公開のサンドボックスAPIプレイグラウンドを共有テスト認証情報でご利用いただけます。実際の請求は行われず、注文が本番の決済プロバイダーに到達することはありません。
ステップ1: サンドボックス認証情報を取得する
/sandbox を開きます。App ID、API Key(署名用)、および Query Key(注文検索用)をコピーします。
ステップ2:テスト注文を作成する
Playgroundフォームを使用するか、署名付きPOSTを/api/createorderに送信してください:
curl -X POST "https://your-domain.com/api/createorder" \
-H "Content-Type: application/json" \
-d '{
"appid": "YOUR_SANDBOX_APPID",
"action": "createorder",
"clientip": "127.0.0.1",
"amount": "9.99",
"currency": "USD",
"paymentMethod": "alipay",
"description": "Test order",
"notify_url": "https://your-domain.com/api/sandbox/webhook-receiver",
"sign_type": "MD5",
"sign": "CALCULATED_MD5_SIGN"
}'
Playgroundがお客様に代わってMD5署名を計算します。アルゴリズムについてはAPIドキュメント — 署名をご参照ください。
ステップ3: 支払いのシミュレーション
オーダー作成レスポンスのredirectUrlを開くか(またはPlaygroundで支払いシミュレーションを使用)、成功をシミュレーションをクリックします。ゲートウェイがnotify_urlにウェブフックをキューイングします。
ステップ4:Webhook署名を確認する
コールバックは GET で送信され、クエリパラメータに sign および sign_type=MD5 が含まれます。注文作成時と同じアルゴリズムとAPIキーを使用して検証してください。
// Node.js 示例(概念性)
const crypto = require('crypto');
function verifyCallback(params, apiKey) {
const copy = { ...params };
delete copy.sign;
delete copy.sign_type;
const keys = Object.keys(copy).filter(k => copy[k] != null).sort();
const str = keys.map(k => k + '=' + copy[k]).join('&') + apiKey;
const expected = crypto.createHash('md5').update(str).digest('hex');
return expected === params.sign;
}
サーバーはプレーンテキストで success(大文字小文字を区別しない)を返答しなければなりません。
ステップ5:注文状況の確認
GET /api/order?action=order&appid=APPID&key=QUERY_KEY&paymentId=ORDER_ID
または、公開エンドポイントをポーリングします: GET /api/order/status/:orderId
本番環境への移行
- 加盟店アカウントを登録し、本番用の
appid、apikey、keyを使用してください。 - アカウント設定または注文ごとに、実際の
notify_urlを設定してください。 - クライアントサイドのコードでAPIキーを絶対に公開しないでください。
- 常にサーバーサイドでWebhook署名を検証すること。
完全なリファレンス: APIドキュメント · ライブテスト: サンドボックスプレイグラウンド