Skip to main content
JavaScript SDK を使うと、わずかなコードでチェックアウトのフローにカード決済を安全に組み込めます。カードのフォームは Hello Clever が iframe 内に描画するため、生のカード情報がフロントエンドやサーバーに触れることはありません。 このガイドでは、セットアップ、初期化、決済の作成、コールバックの処理を説明します。
対応通貨:AUD と USD。

環境

SDK の動作はデモサイトで確認できます。

連携の手順

1

アプリ ID とドメインを登録する

Hello Clever のチームに連絡してドメインを登録し、app_id を受け取ります。
2

チェックアウトページに SDK のスクリプトを読み込む

本番稼働の際は、本番環境のスクリプトの URL に切り替えてください。
3

HTML にマウント用の要素を追加する

SDK はこの要素に決済の iframe を挿入します。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 のオブジェクトが含まれます。
token.id はデータベースに安全に保存してください。顧客がカード情報を再入力することなく、将来の決済に再利用できます。
ペイロードの構造、オーソリ後のトークンの付与、セットアップ、Webhook のセキュリティについては Webhook を参照してください。

決済のステータス