開発者/エコシステムとリソース

Dujiao-Next 向け CardV

Dujiao-NextのショップにCardVを仕入れ先として追加できます。CardVのギフトカードやゲームのチャージを自分の商品としてインポートし、価格は自分で設定します。購入者が支払うと、ショップがCardVの残高でCardVから商品を購入し、コードが購入者の注文ページに自動で表示されます。

APIキーを取得 ↗

#必要なもの

Dujiao-Nextv1.5.0以降で、上流接続機能(Integrationメニュー)があること
CardVアカウントAPI利用が有効になっている承認済みのマーチャントアカウント
APIキーMerchant Portalで発行した署名付きAPIキー(key ID + signing secret)
残高USD建てのCardV前払い残高。ショップが行うすべての注文はここから支払われます

購入者に対する販売者はあなたです。価格の設定、購入者からの問い合わせ対応、返金の対応はあなたが行います。

#ステップ1:APIキーを取得する

Merchant Portal の API と Webhook > API キー にある、すでにお持ちのAPIキーを使います。Dujiao-Next用に別のキーを用意する必要はありません。

  • key ID は ck_live_ で始まります。
  • signing secret は cs_live_ で始まります。表示されるのはキーを作成したときの1回だけです。手元にない場合は、そのキーで シークレットを再発行 を使ってください。key IDは変わらず、古いシークレットはすぐに使えなくなります。

key IDのない古いキーは使えません。代わりにPortalで新しいキーを作成してください。

Merchant PortalのAPIキーページ(key IDはぼかしています)

#ステップ2:接続を追加する

Dujiao-Nextの管理画面で Integration > Connection Management > New Connection を開き、フォームに入力します。

項目入力する内容理由
Name例:CardV (USD)表示されるのはあなたにだけです。通貨を含めておくと後で混乱しません
Base URLhttps://b2b.cardv.net/dujiao/dujiao まで含め、その後には何も付けず、末尾のスラッシュも付けません
API Keykey ID(ck_live_…)
API Secretsigning secret(cs_live_…)後で接続を編集するときは、空欄のままにすると保存済みのシークレットが維持されます
Protocoldujiao-next
Callback URL空欄のままCardVはコールバックを送信しません。ショップが各注文の結果を確認します(配送の仕組みを参照)
Max Retries / Retry Intervalsデフォルトのまま(3 / 30,60,120)再試行は一時的なエラーにのみ適用されます
Exchange Rate自分で入力する固定の数値です。USD からショップの通貨への当日の実際のレートを調べ、少し余裕を持たせて高めに設定します。ショップがUSDで販売する場合は 1 を使いますCardVの価格は常にUSD建てです。Dujiao-Nextはリアルタイムのレートを取得せず、CardVがこの値を設定することもできません。デフォルトは 1 のため、ほかの通貨で販売するショップでは10 USDのカードが自国通貨で10として掲載されてしまいます
Price Markup (%)利益率。例:15デフォルトは 0 で、利益が出ません
Price RoundingRound up (0.1) または Round up (integer)切り上げなので、販売価格が原価を下回ることはありません
Auto-update price on syncYesCardVの価格が変わると、次回の同期で販売価格が再計算されます

為替レートとマークアップは次のように組み合わされます:CardVの価格 × 為替レート ×(1 + マークアップ)を計算し、端数を処理します。例えば、レートを7.2(あくまで例です。調べた現在のレートを入力してください)、マークアップを15%とすると、5.78 USDのカードは47.9で販売されます。

Base URL、レート、マークアップを入力した新規接続フォーム(7.2のレートと15%のマークアップは例です)

為替レートが変動したら、接続のレートを更新し、Reapply Markup をクリックして、インポート済みの商品の価格を更新します。マークアップを変更したときも同じ操作を行います。

#ステップ3:接続をテストする

接続の Ping をクリックします。Ping succeeded と表示されればキーは正しく動作しており、接続のステータスが Active に変わります。エラーが表示された場合はトラブルシューティングを参照してください。

Pingが成功し、接続が有効になった状態

#ステップ4:商品をインポートする

  1. Integration > Product Mappings > Import from Upstream を開き、CardVの接続を選びます。
  2. カテゴリから閲覧するか、Flat List に切り替えて個別の商品を選びます。
  3. ローカルのカテゴリを選ぶか、Auto-create local categories にチェックを入れます。商品を保存するにはカテゴリが必要です。
  4. インポートします。各商品のタイトル、説明、利用方法、額面(10 USD など)はそのまま引き継がれます。

上流からのインポート(カテゴリから閲覧)

インポートした商品は販売停止の状態です。1つずつ確認してから、商品エディタで Active をオンにしてください。

マークアップ後の販売価格が表示された商品マッピング

#ステップ5:1注文につき1点に設定する

インポートしたすべての商品について、商品エディタを開き、Max purchase quantity を 1 に設定します。

CardVは1注文につき1点を配送します。購入者が1つの注文で2つのコードの代金を支払うと、CardVは購入を拒否し、その注文は手作業で対応する必要があります。Dujiao-NextはこのCardVの制限を自動で受け取れないため、自分で設定してください。

エディタを開いているついでに、次の設定もおすすめします。

  • ストアフロントの在庫表示:Hide quantity を選びます。CardVは注文が入った時点でブランドから購入するため、ショップに表示される在庫数は「購入可能」という意味しか持ちません。
  • 画像:画像のない商品には自分で画像を追加します。

最大購入数を1に設定した商品エディタ

#配送の仕組み

  1. 購入者がショップで支払います。
  2. ショップが購入をCardVに送信し、CardVがあなたのCardV残高から代金を差し引きます。
  3. ショップがCardVで注文の状態を確認します。当社のテストでは、コードは1分以内に届きました。
  4. コードは購入者の注文ページに Code、PIN(カードにある場合)、Expires(カードに有効期限がある場合)として表示されます。常にコードであり、リンクになることはありません。

ダイレクトチャージ。 一部の商品は、購入者のゲームやアプリのアカウントに直接チャージされます。購入者はチェックアウト時に、プレイヤーIDや電話番号など商品に必要な情報を入力します。チャージが完了すると、購入者の注文ページに Top-up completed. と表示されます。

CardVが配送できない場合。 CardVは注文の代金をあなたのCardV残高に返金し、ショップはその購入をキャンセル済みにします。その後、ショップで購入者への返金やサポートを行ってください。

ダイレクトチャージのアカウント情報を入力する購入者

購入者の注文ページに配送されたコード(ここではぼかしています)

#利用できないもの

インポート一覧には、この接続を通じてショップで販売できる商品だけが表示されます。

  • 固定額のみ。 購入者が金額を入力するカードは表示されません。
  • 表示されないもの: 携帯電話の通話料チャージ、決済・ウォレット商品、暗号資産、プリペイド決済カード。
  • コードのみ。 リンクでしか配送できない商品は表示されません。

表示される価格は、USD建てのあなた自身のCardV価格です。

#IPホワイトリスト

Merchant PortalでIPホワイトリストを設定している場合は、Dujiao-Nextのショップを動かしているサーバーのパブリックIPアドレスを追加してください。追加しないと、CardVはそのサーバーからのすべてのリクエストを拒否します。CardV APIとDujiao-Nextには、同じキー、ホワイトリスト、リクエスト制限が適用されます。

#トラブルシューティング

これらのメッセージは、Dujiao-Nextの管理画面で、Ping の後、インポート中、または Procurement Orders の購入に表示されます。

メッセージ原因対処方法
status 401 (invalid_signature): signature verification failedAPI Secretが間違っているか、Portalで再発行した現在のsigning secretを接続にコピーします
status 403 (invalid_api_key): api key is invalid or disabledAPI Keyがkey ID(ck_live_…)ではないか、キーが無効になっている有効なキーのkey IDを使います
status 403 (user_disabled): merchant API access is not enabledアカウントのAPI利用がまだ承認されていないPortalで事業審査を完了します
status 403 (forbidden): source IP is not allowed for this merchantIPホワイトリストにショップのサーバーが含まれていないPortalでサーバーのパブリックIPアドレスを追加します
status 401 (timestamp_expired): timestamp expiredサーバーの時刻が60秒以上ずれているサーバーで時刻の自動同期(NTP)をオンにします
status 404 の後にWebページが表示されるBase URLが間違っている(多くは /dujiao が抜けている)https://b2b.cardv.net/dujiao を使います
CardV wallet balance is insufficientCardV残高が購入額に足りない。購入者の注文は支払い済みのまま残るCardV残高をチャージしてから、Procurement Orders でその購入の Retry をクリックします
quantity must be 1: CardV accepts one item per order購入者がある商品を2点以上注文したMax purchase quantity を 1 に設定し(ステップ5)、その注文は手作業で対応します
sku is invalid or not availableその商品はCardVで提供されなくなったマッピングで同期を実行します。CardVが提供しなくなった商品は販売停止になります
status 429 (rate_limited)1分間のリクエストが多すぎるショップが自動で再試行します。繰り返し発生する場合は同期の頻度を下げてください

#よくある質問

Dujiao-Next用に新しいAPIキーは必要ですか? いいえ。すでにお持ちの署名付きAPIキーを使ってください。同じキーを自社のCardV API連携にも使っている場合、両方で同じリクエスト制限を共有します。

なぜCallback URLを空欄にするのですか? CardVはショップにコールバックを送信しません。Dujiao-Nextのショップが、結果が確定するまで各注文を自分で確認します。

CardVの価格が変わるとどうなりますか? Auto-update price on sync をオンにしている場合、次回の同期で販売価格があなたのレートとマークアップで再計算されます。オフの場合、ショップは古い価格のまま販売を続けます。

CardVでこれらの注文はどこで確認できますか? Merchant Portalの 注文 ページです。お客様の注文 ID 列は dujiao: で始まり、その後にDujiao-Nextのサブ注文番号が続きます(例:dujiao:DJ…-01)。CardVのWebhookを設定している場合は、これらの注文でもWebhookが送信されます。

Merchant PortalでのDujiao-Nextからの注文(金額はぼかしています)

商品のタイトル、説明、画像は変更できますか? はい。同期で更新されるのは価格と販売可否です。タイトルや画像が上書きされることはありません。

任意の金額を販売できますか? Dujiao-Nextではまだできません。利用できるのは固定額のみです。

#サポート

Merchant ID、Dujiao-Nextの注文番号、エラーメッセージを添えて [email protected] までメールでお問い合わせください。CardVのご利用には当社の利用規約が適用されます。

連携についてご不明な点は、Merchant ID と注文 ID またはリクエスト ID を添えて [email protected] までお問い合わせください。