対応通貨:AUD と USD。
環境
SDK の動作はデモサイトで確認できます。
連携の手順
1
アプリ ID とドメインを登録する
Hello Clever のチームに連絡してドメインを登録し、
app_id を受け取ります。2
チェックアウトページに SDK のスクリプトを読み込む
3
HTML にマウント用の要素を追加する
createPayment() を呼び出す前に、この要素が存在している必要があります。4
SDK を初期化して決済を作成する
SDK の設定リファレンス
GetKollo({ app_id })
SDK のインスタンスを作成します。
createPayment(order, options)
決済を作成し、マウント用の要素にカードのフォームを描画します。
order(必須)
options(必須)
onSubmit(payload)
paymentButton が external の場合に、カードのフォームを送信します。独自のボタンのクリックハンドラーから呼び出してください。
決済ステータスのコールバック
決済が送信された後、またはカードのフォームの描画に失敗した場合に、SDK はwindow.getkolloCardCallback を呼び出します。
コールバックはブラウザ上で起きたことを反映します。注文を処理する前に、Webhook の通知で最終的な決済ステータスを確認してください。
決済の種類
通常の決済(regular)
顧客は決済の際にカード情報の保存を選択できます。保存したカード情報は、顧客が再入力することなく将来の決済に使えます。 SCA の要件: 強力な顧客認証(SCA)が必要な地域では、顧客は決済の際に 3D セキュア(3DS)の認証を完了する必要があります。SCA が必要な場合、API のレスポンスにpay_code.3ds_url のフィールドが含まれます。認証を完了するため、顧客をこの URL へリダイレクトしてください。
通常の決済を設定する: createPayment() を呼び出す際に、order のオブジェクトで payment_type: "regular" を渡します。既定値が regular のため、指定は任意です。
不定期の決済(unscheduled)
不定期の決済の合意があれば、最初の取引で顧客のカード情報を保存し、後日その保存済みカードでカード非対面の取引を行えます。 たとえば、顧客がホテルのチェックイン時にカード情報を提供し、チェックアウト時に初めて請求されるケースです。その時点で追加の料金が発生している場合があります。 SCA の要件: マーチャント起点の取引は SCA の対象外で、Merchant Initiated Exclusion の適用を受けるため、3DS 認証は不要です。 不定期の決済を設定する:1
最初の決済(SDK)
createPayment() を呼び出す際に、order のオブジェクトで payment_type: "unscheduled" を渡します。これにより顧客のカード情報が保存されます。2
以降の決済(トークン化 API)
Create Payment via Tokenisation で、保存済みのトークンに次のフィールドを指定して請求します。
payment_type:unscheduledを設定します。previous_payment_uuid:最初の決済で返されたuuidです。元の SCA 認証済みの取引を参照し、承認率を高めます。charge_reason:承認率とチャージバックの処理を改善するため、指定を推奨します。次のいずれかを使います。resubmission:元の購入は成立したものの、商品やサービスの提供時にオーソリを取得できなかった場合。delayed_charge:遅延した請求がある場合。no_show:カード会員が購入に合意したものの、合意の条件を満たさなかった場合。reauthorisation:元の購入の後に追加の購入があった場合。通常は遅延した注文や分割された注文に使います。
将来の決済でトークンを再利用する
保存済みのトークン(token.id と token.type)を指定して Create Payment via Tokenisation を呼び出します。payment_type を省略した場合の既定値は regular です。regular と unscheduled の違いは決済の種類を参照してください。
pay_code.3ds_url が含まれる場合は、3DS を完了するため顧客をその URL へリダイレクトしてください。オーソリの後、顧客は return_url へ戻ります。
Webhook の通知
決済のステータスが変わると(たとえばpending から authorised、さらに waiting へ)、Hello Clever は設定済みのエンドポイントへ Webhook のイベントを送信します。
決済が authorised または waiting に達すると、Webhook に token のオブジェクトが含まれます。