Google Pay API で

らくらく支払い体験

先日、こんなツイートをみました

Payment Request API は

まあ、分かる

ブラウザ側で用意する

決済フォームのUIと

決済データのフォーマット

じゃあ、

Payment Handler API とは?

決済サービス側との承認に使う

エコシステム?

正直はっきりとは

僕は理解できてない

まあ、決済サービス関連を

開発しない限り

Payment Handler API を

深く知る必要はないらしい

ただ、

未対応ブラウザもあるので

Payment Request API を

そのまま使かわず JS のラッパー

などを使うのが良いらしい

ってことで

Google Pay API の

チュートリアルをしてみた

DEMO

ポイントだけサクッと説明

<!-- スクリプトを読み込んで実行 -->
<script
  async
  src="https://pay.google.com/gp/p/js/pay.js"
  onload="onGooglePayLoaded()">
</script>
function getGooglePaymentsClient() {
  if (paymentsClient === null) {
    // PaymentsClient のインスタンスを生成
    paymentsClient = new google.payments.api.PaymentsClient({
      environment: 'TEST',  // テスト用のフラグ
      paymentDataCallbacks: {
        onPaymentAuthorized: onPaymentAuthorized,
      },
    })
  }
  return paymentsClient
}
// お支払い方法
const baseCardPaymentMethod = {
  type: 'CARD', // 'PAYPAL' も使えるっぽい
  parameters: {
    allowedAuthMethods: allowedCardAuthMethods,
    allowedCardNetworks: allowedCardNetworks,
  },
}
// サポートされているクレジットカード
const allowedCardNetworks = [
  'AMEX',
  'JCB',
  'MASTERCARD',
  'VISA',
]
// 決済代行会社へのリクエスト
const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    gateway: 'example',
    gatewayMerchantId: 'exampleGatewayMerchantId',
  },
}
function getGooglePaymentDataRequest() {
  paymentDataRequest.merchantInfo = {
    merchantId: '12345678901234567890',  // 販売者ID
    merchantName: 'サンプルショップ',  // 販売店
  }
}

初期登録料($25)がかかる

// 支払い金額、通貨、金額ステータス
function getGoogleTransactionInfo() {
  return {
    displayItems: [
      {
        label: '小計',
        type: 'SUBTOTAL',
        price: '1000',
      },
      {
        label: '消費税',
        type: 'TAX',
        price: '100',
      },
    ],
    countryCode: 'JP',
    currencyCode: 'JPY',
    totalPriceStatus: 'FINAL',
    totalPrice: '1100',
    totalPriceLabel: '合計',
  }
}

「住所」や「送料」なども

設定できる

これからの支払いは

サイトに依存しない

安全で統一された

開発者にとっても

ユーザにとっても

簡単で分かりやすいものに

なっていくだろう

前述したとおり

僕もまだまだ理解が足りないので

詳しい方は教えて欲しい!

ちなみに...

真鯛は買いました

やっぱり自ら体験しないとね!

届くのが楽しみです

Google Pay API でらくらく支払い体験

By Syuji Higa

Google Pay API でらくらく支払い体験

  • 205