このページはリセラー向けです。リセラーとは、前払い残高に対して API 経由で Waffo Point Topup からポイントカード在庫を購入する事業者を指します。加盟店決済 API の一部ではなく、ポイントチャージ連携の概要 にあるサプライヤー側のモード A/B/C 連携でもありません。
code / msg / data のエンベロープ、RSA 鍵交換は Point Topup の他の部分と共通です。Point Topup API 共通仕様 をご覧ください。
どのエンドポイントを呼び出せますか?
6 つすべてが JSON ボディのPOST です。サンドボックスと本番のベース URL はオンボーディング時に発行されます。
リセラー認証は order/create とどう異なりますか?
トランスポートは同じです。X-API-KEY と、生のボディに対する X-SIGNATURE を送り、オンボーディング時に交換した公開鍵で検証され、返信として検証用の署名付きレスポンスが返ります。異なる点は 3 つです。
キーと一致しない
resellerId はパラメーターエラーです。キーの範囲外のエンドポイントは A0004 を返します。
カタログを取得するにはどうすればよいですか?priceStrategy とは何ですか?
products は、貴社のリセラー契約で有効なアイテムを返します。itemId を渡すと 1 つのアイテムに絞り込まれ、省略するとすべてが返ります。不明または無効な itemId はエラーではなく空のリストを返します。
続いて
balance は、通貨ごとに 1 エントリで現在の利用可能残高を返します。SKU の通貨と照合してください。注文は SKU 自体の通貨で課金されます。
create には何が必要ですか?
知っておくべき動作が 2 つあります。
buyerInfo.userEmail は常に貴社のリセラーアカウントのメールアドレスに置き換えられるため、そこに入れた顧客のアドレスは効果を持ちません。また、注文通貨の利用可能残高は注文が受理される前にチェックされるため、残高不足のアカウントは注文を生成せず A0009 で即座に失敗します。
create が常に IN_PROGRESS を返すのはなぜですか?
受理と履行が分離されているためです。create は resellerRequestId、Waffo の orderId、および status IN_PROGRESS を返します。引き落としと供給はその後に実行され、結果は貴社の notifyUrl または inquiry から届きます。create のレスポンスを購入結果として読まないでください。
同じ resellerRequestId の再送は resellerId + resellerRequestId で重複排除されます。その注文が既に完了していても、元の orderId が再び IN_PROGRESS として返されます。そのため、重複送信の後には inquiry を実行してください。2 つ目の注文は作成されず、再送の他の項目は無視されます。同一のリクエスト 2 件が並行して競合した場合は A0010 を返します。少し待ってから再試行してください。
1 件の注文、または複数の注文を照会するにはどうすればよいですか?
inquiry は orderId または resellerRequestId を受け取ります。少なくとも 1 つが必要で、注文は貴社のものである必要があります。returnGameCard を true に設定すると gameCardList が返ります:シリアル、SKU が使用する場合のパスワード、expiryType(FROM_PURCHASE または FROM_REDEMPTION)、expiry です。カードは注文が SUCCESS になった後にのみ表示されます。
orders-inquiry はページ単位の形式です。page、pageSize、startTime、endTime はすべて必須で、期間は requestedAt(貴社が送信した時刻)を同じ ISO 8601 形式でフィルターし、6 か月以内に収めることが想定されています。resellerRequestId、orderId、status でさらに絞り込めます。records は total、size、current、pages で包まれ、各レコードは単一の inquiry と同じ形式ですが、カードシリアルは含まれません。
注文ステータスと金額は何を意味しますか?
totalAmount は購入したものの定価、totalAmountAfterDiscount は契約に基づいて課金される金額で、currency は両方に適用されます。completedTime は注文が最終状態になると表示されます。
fulfillment-inquiry は購入フローではなく即時履行(モード C)フローに属するため、形式が異なります。呼び出し元は supplierId として自身を識別し、注文は salesOrderId または payOrderId(少なくとも 1 つ)で識別し、応答は fulfillmentStatus(IN_PROGRESS、SUCCESS、PAY_SUCCESS、PAY_SUCCESS_SUPPLY_FAILED、PAYMENT_FAILED)であり、上記の 4 つの値ではありません。
モード C:即時履行 をご覧ください。
notifyUrl には何が届きますか?
注文が最終状態になると、Waffo は署名付きの JSON ボディを POST します。
result はカードシリアルを含む完全な inquiry ペイロードです。Waffo の公開鍵で X-SIGNATURE を検証し、正確に {"message": "success"} で応答してください。他のボディ、または 2xx 以外のレスポンスは配信失敗としてカウントされ、再試行されます。再試行は無限に続くわけではないため、inquiry に対する照合ポーリングを正の情報源として維持してください。
これらのエンドポイントはどのエラーコードを返しますか?
一致しない点がありますか?
resellerId と、orderId または resellerRequestId のいずれかを添えてサポートにお問い合わせください。