クレジットカードの機密情報は絶対にほかのサーバーに送信してはなりません。そのため、ユーザーがクレジットカード情報を安全に入力できるようにし、入力された情報を Stripe のサーバーに直接送信し、カードトークンを返すことを目的としたユーザーコントロールが用意されています。このトークンは、請求やサブスクリプションなどを作成する際に使用されます。クレジット カード トークンを顧客に関連付けて後で使用することもできますが、トークンを使用できるのは 1 回だけです。
このユーザーコントロールは https://marketplace.genexus.com/product.aspx?stripecardcontrol からダウンロードできます。
Stripe Card コントロールには次の 2 つのプロパティがあります:
- PublishableKey
- StripeCardToken
1 つ目のプロパティは、正しいアカウントに請求するためのコントロールで必要になります。開始イベントで、変数 (VarChar(100)) の初期値として鍵を設定する必要があります。次に、コントロールプロパティ (WebForm) で、DataBinding の下にある [ Publishable Key ] プロパティに変数の初期値を設定します。
これで、コントロールが Stripe アカウントにリンクされます。
2 つ目のプロパティは、決済の実行やクライアントの作成に使用されるトークンを返すためのものです。
このユーザーコントロールには次のイベントがあります:
このイベントは [ Submit ] ボタンがクリックされたときにトリガーされます。決済プロセスは、このイベントを使用してプログラミングします。
Event StripeCardControl1.SubmitPayment
&stripeChargeCreateOptions.Amount = 4500
&stripeChargeCreateOptions.Currency = "usd"
&stripeChargeCreateOptions.SourceTokenOrExistingSourceId = StripeCardControl1.StripeCardToken //返されたトークンを使用して請求オプションを作成する
&JSON = &stripeChargeCreateOptions.ToJson()
&StripeSDKMain.CreateCharge(&Api_Key,&JSON,&Response,&Errors,&ErrorCode)
if(&ErrorCode = 0)
&StripeChargeCreateResponse.FromJson(&Response)
Msg(&StripeChargeCreateResponse.ToJson())
else
&StripeError.FromJson(&Errors)
Msg(&StripeError.ToJson())
endif
EndEvent
|