【Shopify.dev和訳】Apps/Payments/Hosted Payment SDK
この記事について
この記事は、Apps/Payments/Overviewの記事を和訳したものです。
記事内で使用する画像は、公式ドキュメント内の画像を引用して使用させていただいております。
Shopify アプリのご紹介
Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。
Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。
ペイメントアプリの概要
ペイメントアプリは、Shopify admin と統合して支払い処理サービスを提供する公開アプリです。承認されたパートナーのみが、Shopify のペイメントプラットフォームでペイメントアプリを構築できます。
マーチャントは、ペイメントアプリを使用して、支払い処理のためにアプリがホストするページに購入者をリダイレクトできます。これには、次の支払い方法が含まれる場合があります。
- ウォレット(現在の制限については禁止されているアクションを参照してください)
- 後払い/分割払い/バイヤーファイナンス
- カード
- 銀行振込/オンラインバンキング
- 暗号通貨
- 現金+ ATM
お支払い方法は、次の操作をサポートしています。
- 請求: パートナーは購入者の支払い情報を収集し、購入料金を請求できます
- 払い戻し: マーチャントは Shopify admin からの払い戻しをトリガーできます
- 承認: マーチャントは、後で請求できる保留を設定できます
- キャプチャ: マーチャントは、承認によって以前に指定された金額を請求できます
- 無効: マーチャントは以前に承認された金額をキャンセルできます
マーチャントは、購入時とフルフィルメント時のどちらで資金を調達するかを決定します。詳細については、支払いの承認を参照してください。
Shopify のペイメントプラットフォームへのオンボーディングの経験には、次の主要なプロセスステップが含まれます。
- 発見 - ペイメントアプリの仕組みとさまざまな要件を確認します。
- ビルド - 入金パートナーになることからアプリをビルドすることまで、プロセスの各ステップをウォークスルーするためのスタートガイドを参照してください。
- 起動 - レビューのためにアプリを送信する方法を学びます。
ペイメントアプリの要件
次の要件のリストには、ペイメントアプリの構築に必要な製品の最小要件とペイメントパートナーの責任が含まれています。これらの要件を順守しなかった場合、Shopify は、支払いゲートウェイの公開リストからアプリを削除したり、支払いエコシステムへのアクセスを一時停止したり、支払いエコシステムへの参加を終了したり、その他必要と思われるアクションを実行したりできます。
ペイメントアプリを構築するパートナーは、次の要件を考慮する必要があります。
- マーチャントの発見 - ペイメントアプリが Shopify のペイメントゲートウェイの公開リストに表示されるためには、ペイメントアプリが少なくとも 50 の Shopify ストアで使用され、$ 1,000,000 米ドル以上を処理している必要があります。この条件が満たされた後、支払いパートナーは Shopify に申請して、Shopify admin の支払いゲートウェイのリストにペイメントアプリを含めることができます。Shopify は、独自の裁量で、ペイメントアプリが上場を承認されているかどうかを確認および決定します。
- 承認プロセスが必要ですか? - マーチャントがポジティブなバイヤーエクスペリエンスを提供できるようにするには、アプリ拡張機能の構成を Shopify で承認する必要があります。マーチャントがアプリをインストールする前に、すべてのアプリも承認される必要があります。
- ペイメントパートナーの責任 - ペイメントアプリは、収益分配契約を含むすべてのペイメントパートナーの責任を完全に遵守する必要があります
- 製品の最小要件 - ペイメントアプリは、製品の最小要件に記載された技術的要件を遵守し、高品質なマーチャントエクスペリエンスを提供する必要があります。
製品の最小要件
機能要件
ペイメントアプリには、次の機能要件があります。
- マーチャントがテストトランザクションを請求、返金、および処理する機能を実装する必要があります。
- 特定の国でクレジットカードによる支払いを処理する場合は、3DS のコンプライアンスに準拠している必要があります。
技術要件
- べき等性: 一貫したカスタマーエクスペリエンスを提供するために、ペイメントアプリはべき等性を実装する必要があります。
- 再試行ポリシー: ネットワークエラーが発生した場合、ペイメントアプリは再試行ポリシーに従ってリクエストを再試行する必要があります。
- 相互 TLS(mTLS): Shopify とペイメントアプリの間の双方向でトラフィックが安全で信頼できることを保証するために、認証を実装する必要があります。この認証により、アプリはアップストリームリクエストが Shopify から発信されたかどうかを確認できます。ペイメントアプリは、確認のためにShopifyCA 証明書を使用する必要があります。
- レート制限: アプリの GraphQL リクエストは、レート制限ガイドラインに従ってレート制限されます。
- API バージョン管理: パートナーは、Shopify の Payments AppsAPI のサポートされているバージョンを実装する必要があります。パートナーは、ペイメントアプリが Shopify からのリクエストを受信するために使用する API バージョンを構成できます。パートナーは、GraphQL リクエストを送信するために同じ API バージョンを使用する必要があります。API バージョンは、Shopify の一般的なAPI バージョン管理タイムラインに従って更新されます。
- 3D セキュア: 3D セキュア認証が義務付けられている国でクレジットカードによる支払い方法を提供する場合は、3D セキュア認証をサポートする必要があります。
- GDPR: GDPR ウェブフックを実装する必要があります。
- アプリ拡張機能の構成変更の承認: 顧客にポジティブな購入者エクスペリエンスを提供するには、アプリ拡張機能の構成変更が Shopify によって承認される必要があります。アプリ拡張機能の変更とレビューの詳細については、支払いパートナーになる方法を参照してください。
マーチャントの経験要件
- ペイメントアプリは、少なくとも 24 時間、週 7 日(24 時間 365 日)ベースで動作可能であり、測定期間の 99.95%以上の時間で利用可能である必要があります。
- 停止または問題が発生した場合、パートナーは 2 時間以内に対応する必要があります。
- ペイメントアプリは、すべてのマーチャントにサービスサポートを提供する必要があります。
テスト要件
ペイメントアプリをShopify App Storeに送信して確認する場合は、パート Gに記入する必要があります。アプリリストのテスト手順に、次のテストの詳細を入力します。
- ペイメントアプリがインストールされたテストストア
- テスト用のペイメントアプリをインストールするために必要な認証情報(アクティベーションコードやログイン認証情報など)
- テストの支払いと払い戻しを処理する方法の説明
- 特定のテストシナリオの説明:
- 分割払い/後払い
- 3D セキュア認証(該当する場合)
- サポートされている各ブラウザでペイメントアプリ/支払いフローがどのように機能するかのスクリーンキャスト。
ペイメントパートナーの責任
支払い処理は、Shopify マーチャントのワークフローの中核部分です。私たちの店は、世界中のさまざまな通貨で顧客に 24 時間年中無休で販売しています。私たちは、顧客が購入するための安全な環境を提供し、マーチャントが決済と支払いを処理するのを支援するために、支払いパートナーに依存し、信頼しています。
支払いのセキュリティ
顧客の購入中、ペイメントアプリは次の責任を負います。
- 購入者の支払い情報を安全に収集し、購入者データの安全な保管を含め、適用される法律および PCI 要件または市場規制を順守します。
- Shopify で指定されたパラメーターに従って支払いを処理します。
- 購入者を Shopify にリダイレクトします。
- 5 日以内に取引を決済します。
パートナーは、リスクと詐欺を監視および管理する責任があります。マーチャントの支払いの不当に高い割合が不正または高リスクである場合(Shopify の独自の裁量で決定)、Shopify はアクションを実行する場合があります。アクションには次のものが含まれます。
- Shopify の支払いゲートウェイの公開リストからペイメントアプリアプリを削除する
- Shopify の支払いエコシステムへのアクセスを制限する
- 必要と思われるその他の措置を講じる
透明性のある価格設定と柔軟なマーチャント契約
- パートナーは、マーチャントに対して透明でわかりやすい価格設定を持っている必要があります。
- パートナーは、後で料金を引き上げるために、限られた期間、低いプロモーション料金または紹介料金を提供することはできません。
- パートナーは、料金、費用、またはその他のコストを、マーチャントへの請求書で Shopify の手数料と称することはできません。
- パートナーは、ペナルティ、罰金、またはその他の結果なしに、7 日間の通知期間でマーチャントがマーチャント契約を終了できるようにする必要があります。
収益分配契約
すべてのパートナーは、Shopify と署名された収益分配契約を結んでいる必要があります。収益分配は、アプリがインストールされているすべての Shopify マーチャントのペイメントアプリによって処理される合計支払い量(合計 GMV)に対して計算され、適用されます。
署名された収益分配契約は、Shopify がペイメントアプリで実際の支払いを処理することを承認する前に必要となります。パートナーがペイメントプラットフォームへのアクセスをリクエストすると、詳細情報が提供されます(第 3 四半期に間もなく登場)。
禁止されている行為
ペイメントアプリは、以下の行為を行うことを許可されていません。
- Shopify から許可を得ずに Shopify API(Checkout API、Admin API、または Payments Apps APIs 以外のSubscription APIsを含む)に使用。
- 未承認の目的による支払い認証情報の保存。Shopify によって承認された元のトランザクションまたはサービスにのみ使用できます。
- Shopify の承認なしで、Shopify のペイメントプラットフォームへの不正アクセスを再配布、共有、転送、販売。Shopify のペイメントエコシステムへのアクセスは、承認されたペイメントパートナーにのみ厳密に提供されます。
- 偽のまたは詐欺的なマーチャント、注文、または販売の作成
- Shopify がすでに直接の関係にある支払い方法の処理。これには、Apple Pay、Google Pay、Shop Pay、 PayPal、Alipay が含まれますが、これらに限定はされません。
命名制限
マーチャントが追加の支払い方法をできるだけ簡単に選択できるようにするには、ペイメントアプリに名前を付けるときに特定のルールに従う必要があります。
-
支払いアプリの名前にマーケティングテキストを含めることはできません。
たとえば、「世界最高のプロバイダー:50 の支払い方法を取得する」という名前は許可されていません。これは、マーチャントがストアに追加する支払い方法を選択するまで、支払いアプリの名前が表示されないためです。代わりに、マーケティングメッセージにはアプリのリストを使用する必要があります。マーチャントは、支払い方法を追加するとアプリのリストにアクセスできます。
-
パートナーがペイメントアプリの名前を使用して上位のリストを取得することはできません。
マーチャントがナビゲートするためのペイメントアプリの一般的なアルファベット順のディレクトリはありません。代わりに、マーチャントは、追加したい支払い方法を使用して支払いアプリを見つけます。
アプリをマーチャントに表示するために使用される情報はこれだけなので、提供される支払い方法と場所が正確であることを確認する必要があります。アルファベット順のリストで上位のリストを取得する目的で名前が作成されたように見える場合、その名前は許可されません。
ペイメントアプリに関するその他の考慮事項
- 明細、注文 ID、およびチェックアウト ID は、Payments Apps API からは利用できません。
- ペイメントアプリは、Shopify App Store に表示もインストールもできません。
- 支払い処理フローの一部として、購入者は支払い開発者がホストするページに支払い情報を入力する必要があります。
次のステップ
ホスト型決済 SDK を始めよう
Hosted Payment SDK は、あなたのホストされた支払いページを Shopify のチェックアウトと統合することを可能にします。すべての Hosted Payment SDK の統合は、サードパーティのペイメントゲートウェイで利用可能な標準化されたインターフェイスを介して、Shopify のチェックアウトの最終支払いステップでフルページリダイレクトを行うことに基づいています。
ホスト型ペイメント SDK の使用方法
カスタムペイメントゲートウェイの統合を始めるためには、Shopify パートナーになって、開発ストアを作成する必要があります。開発ストアを作成した後は、ペイメントゲートウェイの統合の開発を開始することができます。
チェックアウトのプロセスには、お客様が見るものと見ないものを含めて、6 つのステージがあります。
-
顧客は Shopify Checkout で注文をします。顧客は、電子メール、配送先住所、配送方法を入力し、支払い方法としてあなたのゲートウェイを選択します。
-
Shopify Checkout の最後のステップで、顧客はRequest Valuesを含む POST リクエストを使ってあなたのゲートウェイの URL にリダイレクトされます。あなたのゲートウェイは
x_signature
の値を検証し、独自のホストされた支払いページを顧客に提示します(「署名の仕組み」を参照)。 -
顧客は、あなたが提供するホストされた支払いページで注文の支払いを行います。
-
支払いフローを完了した顧客は、
x_signature
を含むすべての必要なレスポンス値をクエリパラメータとしてx_url_complete
にリダイレクトされます(「署名の仕組み」を参照)。ペイメントフローが正常に完了する前に終了した訪問者は、x_url_cancel
にリダイレクトされる必要があります。 -
ペイメントゲートウェイでは、同じレスポンスバリューを持つコールバックを
x_url_callback
に非同期に POST することがベスト プラクティスです。これにより、お客様の Shopify への接続が早期に終了した場合でも、注文を完了することができます。コールバックは HTTP POST の x-www-form-urlencoded 形式である必要があります。 -
注文が完了し、お客様にサンキューページが表示されます。
- HTTP 200 は Shopify がコールバックを正常に受け取ったことを示します。それ以外の場合は、60 秒以上の間隔で最大 5 回の再試行が推奨されます。
- 重複したリクエストは Shopify によって無視されます。
Hosted Payment SDK の使用を開始するには、スタートガイドに進んでください。
SDK の内容
Hosted Payment SDK には、あなたのカスタムペイメントゲートウェイを Shopify と統合するために必要なリソースが含まれています。
よくあるご質問
"422 Unprocessable Entity: レスポンスの送信時に「Notification acknowledgment failed」と表示される
このエラーは、無効なx_signature
パラメータが応答で送信された場合に発生します。マーチャントがストアの決済設定で不正な認証情報を入力したか、または署名の計算方法に問題があると考えられます。
"422 Unprocessable Entity: ID <x>を持つチェックアウトを見つけられませんでした"
提供しているx_reference
の値が Shopify で生成されたチェックアウト ID と一致していることを確認する必要があります。この値は、リクエストのパラメータで送信されたx_reference
の値と同じになります。
Shopify のオーダー ID を変更することは可能ですか?
いいえ、オーダー ID は Shopify によって連続的に生成され、変更することはできません。
支払いステータスを「保留」にして注文を作成し、後に「支払い済み」に移行することは可能ですか?(例:商品の出荷準備が整った時など)
x_url_callback
に最初の通知を送信する際に、x_result
の値をpending
とすることができます。Shopify の注文を "paid"ステータスに移行させるには、後日、x_url_callback
にx_result
の値をcompleted
にして、別の通知を送るだけです。
なぜ空の注文管理リクエストを受け取るのですか?
インテグレーションへの支払いリクエストは、パラメータがクエリストリングパラメータとして URL に格納されていますが、注文管理リクエストは、代わりにリクエストボディ内にパラメータが格納されています。ゲートウェイが注文管理リクエストを処理するときに、リクエストボディを読み取ることを確認してください。
Hosted Payments SDK のリソース
Shopify API 開発者フォーラム
フォーラムでは、Shopify API やアプリ開発に関する情報を得ることができます。
ホステッドペイメントのサンプルプロジェクト
Hosted Payment Simulator では、統合を構築するために必要なリダイレクトやコールバックをシミュレートすることができます。
ホスト型ペイメントゲートウェイ統合の開発
Hosted Payment SDK は、既存のホスト型決済ページを Shopify ストアに接続するのに役立ちます。Shopify のチェックアウトは、事前に定義されたリクエスト値を使用して提供された支払いページに訪問者をリダイレクトします。訪問者が支払いを完了すると、事前に定義された応答値で Shopify にリダイレクトされ、注文ステータスページが表示されます。
これらのリクエストを処理するページを構築するのは、ペイメントゲートウェイプロバイダーの責任です。
ホスト型決済シミュレーター
Sinatraで構築されたホステッドペイメントシミュレーターがこちらで利用できます。シミュレータをテストするには、GitHub リポジトリまたは下記の指示に従ってください。これにより、Hosted Payment の統合がどのように機能するかを知ることができます。
Hosted Payment シミュレーターの使用
Hosted Payment Simulator でテストトランザクションを実行するには、以下の手順に従います。
1.ペイメントゲートウェイを追加するか、ゲートウェイの「リダイレクト URL」を https://offsite-gateway-sim.shopifycloud.com/
に変更します。
2.このゲートウェイは、開発ストア(開発ストアの作成を参照)の「クレジットカード」ドロップダウンリストまたは「代替ゲートウェイ」ドロップダウンリストで利用できるようになります。ゲートウェイを見つけて、以下の認証情報を使ってアクティベートしてください。
- ユーザー名 - 任意の空虚でない値
- パスワード/HMAC キー - iU44RWxeik
このゲートウェイはあなたの開発ストア Shopify Checkout で利用できるようになり、顧客をhttps://offsite-gateway-sim.shopifycloud.com/
にリダイレクトします。
3.あなたのショップでテスト購入を完了してください。もしテストストアに商品がない場合は、テスト購入を完了する前に商品を追加する必要があるかもしれません。
チェックアウトの最後に、シミュレーターにリダイレクトされます。これにより、様々なリダイレクトやコールバックに慣れることができます。
ゲートウェイの署名メカニズム
すべてのリクエストとレスポンスは、HMAC-SHA256 を用いて署名/検証されなければなりません。
key
は Shopify のマーチャントとあなたの両方が知っている値です。これは通常、マーチャントの"Password"フィールドです。
message
は x_
prefix で始まるすべての key-value ペアの文字列で、アルファベット順にソートされ、セパレータなしで連結されています。
HMAC キーが "iU44RWxeik "であるとすると、署名の仕組みは次のようになります。
fields = {x_account_id: 'Z9s7Yt0Txsqbbx', x_amount: 89.99, x_currency: 'USD', x_gateway_reference: '123', x_reference: "19783", x_result: "completed", x_test: "true", x_timestamp: '2014-03-24T12:15:41Z'}
=> {:x_account_id=>"Z9s7Yt0Txsqbbx", :x_amount=>89.99, :x_currency=>"USD", :x_gateway_reference=>"123", :x_reference=>"19783", :x_result=>"completed", :x_test=>"true", :x_timestamp=>"2014-03-24T12:15:41Z"}
message = fields.sort.join
=> "x_account_idZ9s7Yt0Txsqbbxx_amount89.99x_currencyUSDx_gateway_reference123x_reference19783x_resultcompletedx_testtruex_timestamp2014-03-24T12:15:41Z"
OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), 'iU44RWxeik', message)
=> "49d3166063b4d881b50af0b4648c1244bfa9890a53ed6bce6d2386404b610777"
"x_signature=49d3166063b4d881b50af0b4648c1244bfa9890a53ed6bce6d2386404b610777"
HMAC-SHA256 署名の動作例は、Hosted Payment Simulator の GitHub リポジトリで公開されています。
統合がうまくいっているようであれば、公開する前に Shopify Partners アカウントに支払いゲートウェイを追加することができます。
ホストされているペイメントゲートウェイに注文管理を追加 | Adding order management to your hosted payment gateway
Hosted Payment SDK には、注文管理機能があり、お客様のゲートウェイを使用するマーチャントは、Shopify 管理画面で注文に対する支払いの取り込み、払い戻し、無効化を行うことができます。注文管理機能をゲートウェイ統合に追加するには、Hosted Payments SDKとのゲートウェイ統合をすでに作成している必要があります。
決済の取得 | Capture payments
マーチャントが Shopify の管理画面でトランザクションをキャプチャすることを決定すると、Shopify は x_transaction_type
を capture
に設定したRequest Valuesをあなたのアプリに送ります:
Key | Type | Example |
---|---|---|
x_transaction_type |
fixed choice | capture |
アプリケーションは、 x_transaction_type
が capture
に設定された Response Values を送り返す必要があります:
Key | Type | Example |
---|---|---|
x_transaction_type |
fixed choice | capture |
手動キャプチャの仕組み
- マーチャントが Shopify 管理画面の注文ページでキャプチャボタンをクリックします。
- Shopify は POST JSON リクエストをあなたのキャプチャー URL に Request Values とともに送ります。
- あなたのサーバーはコールバックを
x_url_callback
に Response Values でポストします。
マーチャントの手動キャプチャを設定する
キャプチャー URL を設定するには、以下の手順で行います:
- Partner Dashboard にログインします。
- Payment gatewaysをクリックします。
- お使いのペイメントゲートウェイの名前をクリックします。
- ペイメントゲートウェイのページで、Edit gateway settingsをクリックします。
- Payment URLsセクションのCapture URLフィールドに、ゲートウェイのキャプチャエンドポイントの URL を入力します。
マーチャントが Shopify 管理画面でキャプチャを行うと、Shopify は Request Values をCapture URLに送ります。
払い戻し | Refund payments
マーチャントが Shopify 管理画面でトランザクションの払い戻しを決定すると、Shopify は x_transaction_type
を refund
に設定した Request Values をあなたのアプリに送信します:
Key | Type | Example |
---|---|---|
x_transaction_type |
fixed choice | refund |
あなたのアプリは x_transaction_type
を refund
に設定して、Response Valuesを Shopify に送る必要があります:
Key | Type | Example |
---|---|---|
x_transaction_type |
fixed choice | refund |
返金の仕組み
- マーチャントは Shopify の管理画面で注文ページの返金ボタンをクリックします。
- Shopify は POST JSON リクエストをあなたの払い戻し URL にRequest Valuesで送ります。
- あなたのサーバーはコールバックを
x_url_callback
にResponse Valuesでポストします。
マーチャントへの返金の設定
返金用の URL を設定するには、以下の手順で行います:
- Partner Dashboard にログインします。
- Payment gatewaysをクリックします。
- お使いのペイメントゲートウェイの名前をクリックします。
- ペイメントゲートウェイのページで、Edit gateway settingsをクリックします。
- Payment URLsセクションで、ゲートウェイのキャプチャエンドポイントの URL をRefund URLフィールドに入力します。
マーチャントが Shopify 管理者から返金を行うと、Request Values があなたのRefund URLに送られます。
支払の無効化 | Void payments
マーチャントが Shopify 管理画面でトランザクションをキャプチャすることを決定すると、Shopify はx_transaction_type
をvoid
に設定したRequest Valuesをあなたのアプリに送信します:
Key | Type | Example |
---|---|---|
x_transaction_type |
fixed choice | void |
次に、あなたのアプリは x_transaction_type
を refund
に設定して、Response Valuesを Shopify に送る必要があります:
Key | Type | Example |
---|---|---|
x_transaction_type |
fixed choice | refund |
無効化の仕組み
- マーチャントは Shopify の管理画面で注文ページのキャンセルボタンをクリックします。
- Shopify は POST JSON リクエストをあなたの支払無効化 URL にRequest Valuesで送ります。
- あなたのサーバーはコールバックを
x_url_callback
にResponse Valuesとともにポストします。
マーチャントの支払無効化を設定する
支払無効化用の URL を設定するには、以下の手順で行います:
- Partner Dashboard にログインします。
- Payment gatewaysをクリックします。
- お使いのペイメントゲートウェイの名前をクリックします。
- ペイメントゲートウェイのページで、ゲートウェイ設定の編集をクリックします。
- Payment URLs セクションで、ゲートウェイのキャプチャエンドポイントの URL を Void URL フィールドに入力します。
マーチャントが Shopify 管理画面から返金を行うと、Request Values があなたの Void URL に送られます。
ホスト型ペイメントゲートウェイの公開
最初は、あなたのゲートウェイをショップに非公開で利用させることができます。あなたのゲートウェイを使用している Shopify の店舗が 50 店舗以上あり、合計で 100 万ドル以上の処理を行った場合、あなたは Shopify にあなたのゲートウェイをサポートしている国のすべての店舗のために公開することを要求することができます。
プライベートでの共有
お客様のペイメントゲートウェイ・インテグレーションをお客様と共有するため。
- Partner Dashboard にログインします。
- Gatewaysをクリックします。
- あなたのゲートウェイを選択してください。
- 独自のネットワークで接続している Shopify マーチャントにインストールリンクを共有します。
あなたのクライアントがリンクをクリックすると、自分のショップにログインするように求められます。彼らがショップにログインした後、あなたのゲートウェイをインストールするように促されます。
アプリがインストールされると、管理画面のPayments Settingsページにゲートウェイが表示されます。ゲートウェイによって、Accept credit cardsまたはAlternative paymentsのいずれかに表示されます。
Shopify へのパブリッシング
あなたのゲートウェイを使用している Shopify の店舗が 50 店舗以上あり、合計で 100 万ドル以上の処理を行った場合、あなたは Shopify にあなたのゲートウェイをサポートしている国のすべてのショップのために公開するよう要求することができます。承認された場合、あなたのゲートウェイは Shopify 管理画面(支払い設定)と Shopify の公開ゲートウェイリストに掲載されます。承認にはレベニューシェア契約が必要な場合があります。
あなたのゲートウェイの公開リストをリクエストするには、以下の情報を添えて hpsdk@shopify.com にメールを送ってください。
- Subject line: Hosted Payment SDK - Public listing request
- パートナー ID
- ゲートウェイ名
- あなたのサービスの説明
- あなたのゲートウェイを使用している Shopify マーチャントのリストと、彼らが処理したトランザクションの総量
- 成功した場合と失敗した場合のチェックアウトプロセスのスクリーンショット
- あなたのゲートウェイを自分のストアに設定したいマーチャントのためのセットアップステップ
Reference
Overview
API リファレンスファイルには、x_amount
などのすべてのx_
Keyが記載されており、それらが必須の値かどうか、また文脈を説明するための短い説明が含まれています。
まだ API リファレンス資料を使用する準備ができていない場合は、Hosted Payment SDK Overviewで最初から説明を受けることができます。
Request values
Key (キー) | Type (型) | Example (例) |
---|---|---|
x_account_id Required注 : ペイメントプロセッサーからマーチャントに割り当てられたアカウント識別子です。 |
unicode string | Z9s7Yt0Txsqbbx |
x_amount Required
|
decimal | 89.99 |
x_currency Required
|
iso-4217 | USD |
x_gateway_reference Required注 : 最初のトランザクションが作成されたときに、ゲートウェイから返される支払いのリファレンスです。これは、注文管理リクエストにのみ存在します。 |
unicode string | a32-74a4-a6a7-3e7 |
x_reference Required注 : マーチャントによって割り当てられた注文のユニークなリファレンス。 |
ascii string | 19783 |
x_shop_country Required
|
iso-3166-1alpha-2 | US |
x_shop_name Required
|
unicode string | Widgets Inc |
x_signature Required注 : Signing mechanismを参照してください。 |
hex string, case-insensitive | 3a59e201a9b8692702b 8c41dcba476d4a46e5f5c |
x_test Required注 : このリクエストがテストモード(サポートされている場合)で処理されるべきかどうかを示します。 |
true/false | true |
x_url_callback Required注 : 非同期にコールバック通知を送信する先の URL。 |
url | https://myshopify.io/ping/1 |
x_url_cancel Required注 : お客さまが決済を終了してマーチャントのサイトに戻る際にリダイレクトされるべき URL。 |
url | https://myshopify.io |
x_url_complete Required注 : 決済フローが完了した際に、顧客がリダイレクトされるべき URL。 |
url | https://myshopify.io/orders/1/done |
x_transaction_type 注 : この値は、注文管理を使用している場合にのみ取得できます。有効な値は capture , refund , void です。 |
fixed choice | capture |
x_customer_billing_address1 |
unicode string | 241 Spadina Ave |
x_customer_billing_address2 |
unicode string | |
x_customer_billing_city |
unicode string | Toronto |
x_customer_billing_company |
unicode string | Shopify |
x_customer_billing_country |
iso-3166-1alpha-2 | CA |
x_customer_billing_phone |
unicode string | +1-613-987-6543 |
x_customer_billing_state |
unicode string | ON |
x_customer_billing_zip |
unicode string | M5T 3A8 |
x_customer_email |
unicode string | boris.slobodin@example.com |
x_customer_first_name |
unicode string | Boris |
x_customer_last_name |
unicode string | Slobodin |
x_customer_phone |
unicode string | +1-613-987-6543 |
x_customer_shipping_address1 |
unicode string | 241 Spadina Ave |
x_customer_shipping_address2 |
unicode string | |
x_customer_shipping_city |
unicode string | Toronto |
x_customer_shipping_company |
unicode string | Shopify |
x_customer_shipping_country |
iso-3166-1alpha-2 | CA |
x_customer_shipping_first_name |
unicode string | Boris |
x_customer_shipping_last_name |
unicode string | Slobodin |
x_customer_shipping_phone |
unicode string | +1-416-123-4567 |
x_customer_shipping_state |
unicode string | ON |
x_customer_shipping_zip |
unicode string | M5T 3A8 |
x_description |
unicode string | Order #123 |
x_invoice |
unicode string | #123 |
x_shopify_order_id 注 : リクエストの元となったオーダーの一意の識別子。 これは、注文管理リクエストにのみ表示されます。 |
integer | 450789469 |
Response values
Key (キー) | Type (型) | Example (例) | Note (備考) |
---|---|---|---|
x_account_id Required
|
unicode string | Z9s7Yt0Txsqbbx | リクエストのx_account_id をエコーする |
x_amount Required
|
decimal | 89.99 | リクエストのx_amount をエコーする |
x_currency Required
|
iso-4217 | USD | リクエストのx_currency をエコーする |
x_gateway_reference Required
|
unicode string | a32-74a4-a6a7-3e7 | ペイメントプロセッサーから発行された各レスポンスに固有の参照番号。 |
x_reference Required
|
ascii string | 19783 | リクエストのx_reference をエコーする |
x_result Required
|
fixed choice | completed | 有効な値は completed , failed , pending です。 |
x_signature Required
|
hex string, case-insensitive | 49d3166063b4d881b50a f0b4648c1244bfa9890a53 ed6bce6d2386404b610777 |
Signing mechanismを参照してください。 |
x_test Required
|
true/false | true | リクエストのx_test をエコーする |
x_timestamp Required
|
iso-8601 in UTC | 2014-03-24T12:15:41Z | トランザクションが完了した時刻です。UTC Time: YYYY-MM-DDTHH:MM:SSZ |
x_message |
ascii string | Billing address could not be verified. | お客さまに表示されるカスタムエラーメッセージ |
x_transaction_type |
fixed choice | authorization | 注文管理を使用している場合、有効な値は authorization、capture、voidand 、refund です。 |
x_transaction_type |
fixed choice | sale | 注文管理を使用していない場合、このフィールドにはデフォルト値のsaleが使用されます。 |
Shopify アプリのご紹介
Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。
Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。
Discussion