インターネットバンキング(タイ)

このページで扱うトピック
こちらのページにてご案内のインターネットバンキングは、現在Omise Thailandご契約加盟店様のみご利用可能いただけます。その他の国でOmiseをご利用中の加盟店様には誠に恐縮ですが、ご提供開始まで今しばらくお待ちください。

インターネットバンキングは、顧客がインターネットを利用し銀行のウェブサイトから簡単に 取引を行えるサービスのことです。現在このサービスのご利用は、下記のOmise提携先銀行の口座をお持ちのお客様に限られています。

ATM/デビッドカードをお持ちの方はオンラインで講座を開設することが可能です。お持ちでない方はお近くの支店へお立ち寄りください。

決済の流れ

顧客がインターネットバンキングによる決済を選択すると、リダイレクト決済フローが実行され、加盟店のウェブサイトから、銀行が運営する安全なページに自動遷移した上で、決済金額の認可と確認が行なわれます。 課金が完了しますと、顧客は再び加盟店様のウェブサイトへ自動遷移されます。

internet banking 1

顧客がインターネットバンキングを支払い方法として選択すると、ご利用いただける金融機関一覧ページへ遷移されます。

internet banking 2

決済金額ならびに照合番号が自動的に表示され、顧客は支払情報をご確認した上で支払いを行います。

決済(ペイメント)ソースを使用し課金を作成する

外部サイト内でインターネットバンキングによる課金を作成するには、ソース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オブジェクトの中の failurecodefailuremessage から確認できます。インターネットバンキングにてエラー表示が出る場合は、以下の「エラーコード」セクションを参考にして下さい。
  • 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 までご連絡ください。

Omiseは、お客様のウェブサイト全般における利便性を向上するためにクッキーを利用し、お客様のアクセス、閲覧履歴に関する情報を収集します。 当社のウェブサイトを閲覧し続けることにより、お客様は当社のプライバシーポリシーに同意することとします。 詳細はこちら