インターネットバンキング(タイ)
このページで扱うトピック
インターネットバンキングは、顧客がインターネットを利用し銀行のウェブサイトから簡単に 取引を行えるサービスのことです。現在このサービスのご利用は、下記のOmise提携先銀行の口座をお持ちのお客様に限られています。
ATM/デビッドカードをお持ちの方はオンラインで講座を開設することが可能です。お持ちでない方はお近くの支店へお立ち寄りください。
決済の流れ
顧客がインターネットバンキングによる決済を選択すると、リダイレクト決済フローが実行され、加盟店のウェブサイトから、銀行が運営する安全なページに自動遷移した上で、決済金額の認可と確認が行なわれます。 課金が完了しますと、顧客は再び加盟店様のウェブサイトへ自動遷移されます。
顧客がインターネットバンキングを支払い方法として選択すると、ご利用いただける金融機関一覧ページへ遷移されます。
決済金額ならびに照合番号が自動的に表示され、顧客は支払情報をご確認した上で支払いを行います。
決済(ペイメント)ソースを使用し課金を作成する
外部サイト内でインターネットバンキングによる課金を作成するには、ソースAPIを使用してソースオブジェクトを登録する必要があります。type
処理のフィールドには internet_banking_bay
, internet_banking_bbl
, internet_banking_ktb
,そして internet_banking_scb
が含まれます。
ソースの作成コードは以下の通りです。
curl https://api.omise.co/sources \
-X POST \
-u skey_test_59rnqoboimgxvjk894d: \
-d "amount=100000" \
-d "currency=thb" \
-d "type=internet_banking_scb"
JSON Response
{
"object": "source",
"id": "src_test_59sviq593cxd3zckpe0",
"type": "internet_banking_scb",
"flow": "redirect",
"amount": 100000,
"currency": "thb"
}
ソースオブジェクトを作成するときは、シークレットキー、パブリックキーのいずれもご使用いただけます。
作成されたソースを取得します。最も重要なのは、次に使用されるIDです。id
としてsrc_test_591h1soh3s1lgshy5av
があると仮定します。
課金を作成するには、IDを課金APIでsource
パラメータとして渡します。
curl https://api.omise.co/charges \
-X POST \
-u skey_test_59rnqoboimgxvjk894d: \
-d "amount=100000" \
-d "currency=thb" \
-d "return_uri=http://example.com/orders/345678/complete" \
-d "source=src_test_59sviq593cxd3zckpe0"
return_uri
は課金処理完了後に戻る先のURLに該当します。
JSONレスポンスの例を以下に示します。
{
"object": "charge",
"id": "chrg_test_59sviwaxncht3osj6fq",
"livemode": false,
"location": "/charges/chrg_test_59sviwaxncht3osj6fq",
"amount": 100000,
"currency": "thb",
"description": null,
"metadata": {
},
"status": "pending",
"capture": true,
"authorized": false,
"reversed": false,
"paid": false,
"transaction": null,
"refunded": 0,
"refunds": {
"object": "list",
"from": "1970-01-01T00:00:00Z",
"to": "2017-10-30T11:34:06Z",
"offset": 0,
"limit": 20,
"total": 0,
"order": null,
"location": "/charges/chrg_test_59sviwaxncht3osj6fq/refunds",
"data": [
]
},
"return_uri": "http://example.com/orders/345678/complete",
"reference": "ofsp_test_59sviwaza3gh5ho98vb",
"authorize_uri": "https://pay.omise.co/offsites/ofsp_test_59sviwaza3gh5ho98vb/pay",
"failure_code": null,
"failure_message": null,
"card": null,
"customer": null,
"ip": null,
"dispute": null,
"created": "2017-10-30T11:34:06Z",
"source": {
"object": "source",
"id": "src_test_59sviq593cxd3zckpe0",
"type": "internet_banking_scb",
"flow": "redirect",
"amount": 100000,
"currency": "thb"
}
}
銀行サイトでの決済に進むには、加盟店サーバー側で顧客を自動遷移させる先の authorize_uri
を指定してください。
注意:テストモードでは、authorize_uri
に返されたURLをコピー してブラウザに貼り付け、テストを続行します。
加盟店は、Charges API で課金データを再取得できるので、いつでも課金ステータスを確認することが可能です。
- authorized (オーソリゼーション)と paid (課金)のステータスがいずれも true の場合: 課金成功
- authorized(オーソリゼーション)と paid(課金)がいずれも false の場合: 課金失敗 課金失敗の原因は、Chargeオブジェクトの中の
failurecode
とfailuremessage
から確認できます。インターネットバンキングにてエラー表示が出る場合は、以下の「エラーコード」セクションを参考にして下さい。 - authorized (オーソリゼーション)と paid (課金)の値は常に等しくなります。
エラーコード
Code | Description |
---|---|
insufficient_balance |
支払い銀行口座に十分な資金がありません。 |
payment_cancelled |
支払いがキャンセルされました。 |
timeout |
課金作成後ユーザーからの応答がない状態が24時間経過しました。 |
failed_processing |
他の理由により支払いが行われませんでした。 |
bad_request |
金額は1,000,000(タイバーツ)以下としてください |
bad_request |
この通貨は現在サポートされていません |
bad_request |
こちらの様式 は現在サポートされていません |
bad_request |
無効なソースです |
bad_request |
return_uri は必須です |
not_found |
ソース source_id が見つかりませんでした |
Webhooks
return_uri を指定する代わりにOmiseの Webhook API を利用すると大変便利です。課金が完了すると、ダッシュボードのイベント名 charge.complete
で指定されている特定URLにwebhookが送信されます。
属性 source[type]
を 追加し課金を作成する
curl https://api.omise.co/charges \
-X POST \
-u skey_test_59rnqoboimgxvjk894d: \
-d "description=Charge for order 3947" \
-d "amount=100000" \
-d "currency=thb" \
-d "return_uri=http://example.com/orders/345678/complete" \
-d "source[type]=internet_banking_scb"
属性 source[type]
を追加して課金を作成することもできますが、決済ソースapiを使用して作成することをお勧めいたします。
注意
- Omise Thailandのライブアカウントご利用加盟店様は、 こちらのサービスをご利用頂く前に利用規約をご確認いただく必要がございます。お手数ですが、利用希望の旨をsupport@omise.co までご連絡ください。