👛

【Shopify.dev和訳】Apps/Payments/Hosted Payment SDK

2021/09/30に公開

この記事について

この記事は、Apps/Payments/Overviewの記事を和訳したものです。

記事内で使用する画像は、公式ドキュメント内の画像を引用して使用させていただいております。

Shopify アプリのご紹介

Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。

https://apps.shopify.com/shopify-application-314?locale=ja&from=daniel

Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。

https://apps.shopify.com/font-picker-1?locale=ja&from=daniel

ペイメントアプリの概要

ペイメントアプリは、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 時間年中無休で販売しています。私たちは、顧客が購入するための安全な環境を提供し、マーチャントが決済と支払いを処理するのを支援するために、支払いパートナーに依存し、信頼しています。

支払いのセキュリティ

顧客の購入中、ペイメントアプリは次の責任を負います。

  1. 購入者の支払い情報を安全に収集し、購入者データの安全な保管を含め、適用される法律および PCI 要件または市場規制を順守します。
  2. Shopify で指定されたパラメーターに従って支払いを処理します。
  3. 購入者を Shopify にリダイレクトします。
  4. 5 日以内に取引を決済します。

パートナーは、リスクと詐欺を監視および管理する責任があります。マーチャントの支払いの不当に高い割合が不正または高リスクである場合(Shopify の独自の裁量で決定)、Shopify はアクションを実行する場合があります。アクションには次のものが含まれます。

  • Shopify の支払いゲートウェイの公開リストからペイメントアプリアプリを削除する
  • Shopify の支払いエコシステムへのアクセスを制限する
  • 必要と思われるその他の措置を講じる

透明性のある価格設定と柔軟なマーチャント契約

  • パートナーは、マーチャントに対して透明でわかりやすい価格設定を持っている必要があります。
  • パートナーは、後で料金を引き上げるために、限られた期間、低いプロモーション料金または紹介料金を提供することはできません。
  • パートナーは、料金、費用、またはその他のコストを、マーチャントへの請求書で Shopify の手数料と称することはできません。
  • パートナーは、ペナルティ、罰金、またはその他の結果なしに、7 日間の通知期間でマーチャントがマーチャント契約を終了できるようにする必要があります。

収益分配契約

すべてのパートナーは、Shopify と署名された収益分配契約を結んでいる必要があります。収益分配は、アプリがインストールされているすべての Shopify マーチャントのペイメントアプリによって処理される合計支払い量(合計 GMV)に対して計算され、適用されます。

署名された収益分配契約は、Shopify がペイメントアプリで実際の支払いを処理することを承認する前に必要となります。パートナーがペイメントプラットフォームへのアクセスをリクエストすると、詳細情報が提供されます(第 3 四半期に間もなく登場)。

禁止されている行為

ペイメントアプリは、以下の行為を行うことを許可されていません。

  • Shopify から許可を得ずに Shopify API(Checkout APIAdmin 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 を始めよう

https://shopify.dev/apps/payments/hosted-payment-sdk/getting-started

Hosted Payment SDK は、あなたのホストされた支払いページを Shopify のチェックアウトと統合することを可能にします。すべての Hosted Payment SDK の統合は、サードパーティのペイメントゲートウェイで利用可能な標準化されたインターフェイスを介して、Shopify のチェックアウトの最終支払いステップでフルページリダイレクトを行うことに基づいています。

ホスト型ペイメント SDK の使用方法

カスタムペイメントゲートウェイの統合を始めるためには、Shopify パートナーになって、開発ストアを作成する必要があります。開発ストアを作成した後は、ペイメントゲートウェイの統合の開発を開始することができます。

チェックアウトのプロセスには、お客様が見るものと見ないものを含めて、6 つのステージがあります。

  1. 顧客は Shopify Checkout で注文をします。顧客は、電子メール、配送先住所、配送方法を入力し、支払い方法としてあなたのゲートウェイを選択します。

  2. Shopify Checkout の最後のステップで、顧客はRequest Valuesを含む POST リクエストを使ってあなたのゲートウェイの URL にリダイレクトされます。あなたのゲートウェイは x_signature の値を検証し、独自のホストされた支払いページを顧客に提示します(「署名の仕組み」を参照)。

  3. 顧客は、あなたが提供するホストされた支払いページで注文の支払いを行います。

  4. 支払いフローを完了した顧客は、x_signatureを含むすべての必要なレスポンス値をクエリパラメータとして x_url_completeにリダイレクトされます(「署名の仕組み」を参照)。ペイメントフローが正常に完了する前に終了した訪問者は、x_url_cancel にリダイレクトされる必要があります。

  5. ペイメントゲートウェイでは、同じレスポンスバリューを持つコールバックをx_url_callbackに非同期に POST することがベスト プラクティスです。これにより、お客様の Shopify への接続が早期に終了した場合でも、注文を完了することができます。コールバックは HTTP POST の x-www-form-urlencoded 形式である必要があります。

  6. 注文が完了し、お客様にサンキューページが表示されます。

    • 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_callbackx_resultの値をcompletedにして、別の通知を送るだけです。

なぜ空の注文管理リクエストを受け取るのですか?

インテグレーションへの支払いリクエストは、パラメータがクエリストリングパラメータとして URL に格納されていますが、注文管理リクエストは、代わりにリクエストボディ内にパラメータが格納されています。ゲートウェイが注文管理リクエストを処理するときに、リクエストボディを読み取ることを確認してください。

Hosted Payments SDK のリソース

Shopify API 開発者フォーラム

フォーラムでは、Shopify API やアプリ開発に関する情報を得ることができます。

ホステッドペイメントのサンプルプロジェクト

Hosted Payment Simulator では、統合を構築するために必要なリダイレクトやコールバックをシミュレートすることができます。

ホスト型ペイメントゲートウェイ統合の開発

https://shopify.dev/apps/payments/hosted-payment-sdk/payment-gateway-integration

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"フィールドです。

messagex_ 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

https://shopify.dev/apps/payments/hosted-payment-sdk/order-management

Hosted Payment SDK には、注文管理機能があり、お客様のゲートウェイを使用するマーチャントは、Shopify 管理画面で注文に対する支払いの取り込み、払い戻し、無効化を行うことができます。注文管理機能をゲートウェイ統合に追加するには、Hosted Payments SDKとのゲートウェイ統合をすでに作成している必要があります。

決済の取得 | Capture payments

マーチャントが Shopify の管理画面でトランザクションをキャプチャすることを決定すると、Shopify は x_transaction_typecapture に設定したRequest Valuesをあなたのアプリに送ります:

Key Type Example
x_transaction_type fixed choice capture

アプリケーションは、 x_transaction_typecapture に設定された Response Values を送り返す必要があります:

Key Type Example
x_transaction_type fixed choice capture

手動キャプチャの仕組み

  1. マーチャントが Shopify 管理画面の注文ページでキャプチャボタンをクリックします。
  2. Shopify は POST JSON リクエストをあなたのキャプチャー URL に Request Values とともに送ります。
  1. あなたのサーバーはコールバックをx_url_callbackResponse Values でポストします。

マーチャントの手動キャプチャを設定する

キャプチャー URL を設定するには、以下の手順で行います:

  1. Partner Dashboard にログインします。
  2. Payment gatewaysをクリックします。
  3. お使いのペイメントゲートウェイの名前をクリックします。
  4. ペイメントゲートウェイのページで、Edit gateway settingsをクリックします。
  5. Payment URLsセクションのCapture URLフィールドに、ゲートウェイのキャプチャエンドポイントの URL を入力します。

マーチャントが Shopify 管理画面でキャプチャを行うと、Shopify は Request Values をCapture URLに送ります。

払い戻し | Refund payments

マーチャントが Shopify 管理画面でトランザクションの払い戻しを決定すると、Shopify は x_transaction_typerefund に設定した Request Values をあなたのアプリに送信します:

Key Type Example
x_transaction_type fixed choice refund

あなたのアプリは x_transaction_typerefund に設定して、Response Valuesを Shopify に送る必要があります:

Key Type Example
x_transaction_type fixed choice refund

返金の仕組み

  1. マーチャントは Shopify の管理画面で注文ページの返金ボタンをクリックします。
  2. Shopify は POST JSON リクエストをあなたの払い戻し URL にRequest Valuesで送ります。
  1. あなたのサーバーはコールバックをx_url_callbackResponse Valuesでポストします。

マーチャントへの返金の設定

返金用の URL を設定するには、以下の手順で行います:

  1. Partner Dashboard にログインします。
  2. Payment gatewaysをクリックします。
  3. お使いのペイメントゲートウェイの名前をクリックします。
  4. ペイメントゲートウェイのページで、Edit gateway settingsをクリックします。
  5. Payment URLsセクションで、ゲートウェイのキャプチャエンドポイントの URL をRefund URLフィールドに入力します。

マーチャントが Shopify 管理者から返金を行うと、Request Values があなたのRefund URLに送られます。

支払の無効化 | Void payments

マーチャントが Shopify 管理画面でトランザクションをキャプチャすることを決定すると、Shopify はx_transaction_typevoidに設定したRequest Valuesをあなたのアプリに送信します:

Key Type Example
x_transaction_type fixed choice void

次に、あなたのアプリは x_transaction_typerefund に設定して、Response Valuesを Shopify に送る必要があります:

Key Type Example
x_transaction_type fixed choice refund

無効化の仕組み

  1. マーチャントは Shopify の管理画面で注文ページのキャンセルボタンをクリックします。
  2. Shopify は POST JSON リクエストをあなたの支払無効化 URL にRequest Valuesで送ります。
  1. あなたのサーバーはコールバックをx_url_callbackResponse Valuesとともにポストします。

マーチャントの支払無効化を設定する

支払無効化用の URL を設定するには、以下の手順で行います:

  1. Partner Dashboard にログインします。
  2. Payment gatewaysをクリックします。
  3. お使いのペイメントゲートウェイの名前をクリックします。
  4. ペイメントゲートウェイのページで、ゲートウェイ設定の編集をクリックします。
  5. Payment URLs セクションで、ゲートウェイのキャプチャエンドポイントの URL を Void URL フィールドに入力します。

マーチャントが Shopify 管理画面から返金を行うと、Request Values があなたの Void URL に送られます。

ホスト型ペイメントゲートウェイの公開

https://shopify.dev/apps/payments/hosted-payment-sdk/publish

最初は、あなたのゲートウェイをショップに非公開で利用させることができます。あなたのゲートウェイを使用している Shopify の店舗が 50 店舗以上あり、合計で 100 万ドル以上の処理を行った場合、あなたは Shopify にあなたのゲートウェイをサポートしている国のすべての店舗のために公開することを要求することができます。

プライベートでの共有

お客様のペイメントゲートウェイ・インテグレーションをお客様と共有するため。

  1. Partner Dashboard にログインします。
  2. Gatewaysをクリックします。

  1. あなたのゲートウェイを選択してください。
  2. 独自のネットワークで接続している 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

https://shopify.dev/apps/payments/hosted-payment-sdk/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 注文管理を使用している場合、有効な値は authorizationcapturevoidandrefund です。
x_transaction_type fixed choice sale 注文管理を使用していない場合、このフィールドにはデフォルト値のsaleが使用されます。

Shopify アプリのご紹介

Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。

https://apps.shopify.com/shopify-application-314?locale=ja&from=daniel

Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。

https://apps.shopify.com/font-picker-1?locale=ja&from=daniel

Discussion

ログインするとコメントできます