分割払い

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

分割払いをご利用いただくと、一定期間に少額ずつお支払いただくことが可能になります。Omiseでは、この利便性の高い決済方法をご利用いただけるようAPIを提供しています。現時点では、合計支払金額が2,000THB以上となった場合に、最大36回の分割払いプランをご利用いただけます(利用可能な期間の長さおよび月々の最低支払額は、ご利用のカード毎に異なります)。

利用可能なカード一覧

クレジットカード ソース type installment_term お支払いの期間 (月) 月ごとの最低支払い額(THB)
アユタヤ銀行 installment_bay 3, 4, 6, 9, 10 500
バンコク銀行 installment_bbl 4, 6, 8, 9, 10 500
アユタヤ・ファーストチョイス installment_first_choice 3, 4, 6, 9, 10, 12, 18, 24, 36 300
カシコーン銀行  installment_kbank 3, 4, 6, 10 300
クルンタイ銀行 installment_ktc 3, 4, 5, 6, 7, 8, 9, 10 300

決済フロー

顧客が分割支払いを選択すると、支払いページがリダイレクトされます。加盟店のウェブサイトから、銀行が運営するページにリダイレクトされた上で、決済金額の確認が行なわれます。完了すると、顧客は加盟店のWebサイトに再度リダイレクトされます。

次のスクリーンショットは、この決済フローを説明しています。支払い時に、顧客は分割支払いを選択します。

installment 1

支払い先の銀行を選択した後、銀行が運営するWebページにリダイレクトされます。決済金額ならびに照合番号は、承認ページに既に入力された状態になります。

installment 2

顧客は、決済情報と支払い金額を確認するだけの状態になります。確認後、顧客は指定されたreturn_uriを介して、加盟店のウェブサイトに再度リダイレクトされます。

実装

通常、分割払い料金の作成には以下の手順が含まれます。 1. ソースAPIを利用して、新しい決済ソースを作成する。  2. 課金APIを利用して、新しい課金を作成し、最初のステップで作成したソースIDを渡す。

これは、新しい決済ソースの登録(ステップ1)がパブリックキー(公開鍵)を利用してクライアント側(例:ユーザのブラウザまたは携帯電話上)で行われ、課金の作成(ステップ2)がプライベートキー(秘密鍵)を使用してサーバ側で行われると仮定します。

このフローをクライアント側で実装する際は、Omise.jsまたはOmiseのモバイルSDKいずれかを使用することをお勧めします。

また、非推奨ですが、サーバー側でソースの作成と課金の両方が行われる必要がある場合、課金APIを利用してソースの作成と課金を行うことができます。

どちらが分割払いの利息を負担するかを設定する

ソースを作成する前に、どちらが分割払いの利子を負担するかを設定します。これは加盟店 (Merchant) でも顧客(Customer)でもかまいません。この設定は管理画面で設定できます。

Setting Zero Interest Installments

クライアント側のソースを作成する 

分割支払の方法は、ソース種類として実装されています。上記リストにtypeおよびinstallment_termパラメーターの有効値が記されています。installment_term有効な値は、総額と月々の最低支払い額(amount)によって異なることにご留意ください。新しいソースの作成コードは以下の通りです。 

注:以下の例では$ OMISE_PUBLIC_KEY環境変数をご自身のパブリックキー(公開鍵)が含まれるように設定しておく必要があります。

curl https://api.omise.co/sources \
  -X POST \
  -u $OMISE_PUBLIC_KEY: \
  -d "description=Installment Payment Source" \
  -d "amount=500000" \
  -d "currency=THB" \
  -d "type=installment_kbank" \
  -d "installment_term=4" \
  -H "Omise-Version: 2019-05-29"
{
  "object": "source",
  "id": "src_test_5g2hvadpm5ucvap2a6n",
  "livemode": false,
  "location": "/sources/src_test_5g2hvadpm5ucvap2a6n",
  "type": "installment_kbank",
  "flow": "redirect",
  "amount": 500000,
  "currency": "THB",
  "installment_term": 4,
  "zero_interest_installments": true
}

返されたソースオブジェクトは、zero_interest_installments属性に加えて、ソース作成時に渡されたパラメータを反映しています。管理画面にて分割払いの利子を負担するようにMerchant (加盟店)を設定した場合、trueに設定されます。

分割払い手数料の作成

上記の返されたオブジェクトのid属性の値を使用して、新しい請求用のソースパラメータの値として渡します。この課金には、課金承認のためにサイトを離れる顧客が含まれるため、パラメータreturn_uriも渡す必要があります。課金完了時に顧客がリダイレクトされるサイトのURLはこちらです。 

注:この例では、ご自身ののシークレットキー(秘密鍵)が含まれるよう、$ OMISE_SECRET_KEY環境変数を設定しておく必要があります。また、$ SOURCE_IDには上記のid属性の値を含める必要があります。

curl https://api.omise.co/charges \
-X POST \
-u $OMISE_SECRET_KEY: \
-d "source=$SOURCE_ID" \
-d "description=Installment Payment Charge" \
-d "amount=500000" \
-d "currency=THB" \
-d "return_uri=https://example.com/orders/345678/complete" \
-H "Omise-Version: 2019-05-29"
{
  "object": "charge",
  "id": "chrg_test_5g2hvak2zoseiam51ps",
  "livemode": false,
  "location": "/charges/chrg_test_5g2hvak2zoseiam51ps",
  "created_at": "2019-05-30T07:43:46Z",
  "amount": 500000,
  "currency": "THB",
  "funding_amount": 500000,
  "funding_currency": "THB",
  "fee": 18250,
  "fee_vat": 1278,
  "interest": 13000,
  "interest_vat": 910,
  "net": 466562,
  "description": "Installment Payment Charge",
  "metadata": {
  },
  "status": "pending",
  "capture": true,
  "authorized": false,
  "schedule": null,
  "reversed": false,
  "reversed_at": null,
  "expires_at": "2019-06-06T07:43:46Z",
  "expired": false,
  "expired_at": null,
  "voided": false,
  "paid": false,
  "paid_at": null,
  "transaction": null,
  "refunded_amount": 0,
  "refunds": {
    "object": "list",
    "from": "1970-01-01T00:00:00Z",
    "to": "2019-05-30T07:43:47Z",
    "offset": 0,
    "limit": 20,
    "total": 0,
    "order": "chronological",
    "location": "/charges/chrg_test_5g2hvak2zoseiam51ps/refunds",
    "data": [

    ]
  },
  "link": null,
  "return_uri": "https://example.com/orders/345678/complete",
  "failure_code": null,
  "failure_message": null,
  "card": null,
  "customer": null,
  "ip": null,
  "dispute": null,
  "source": {
    "object": "source",
    "id": "src_test_5g2hv9yy2k9n0640fox",
    "livemode": false,
    "location": "/sources/src_test_5g2hv9yy2k9n0640fox",
    "type": "installment_kbank",
    "flow": "redirect",
    "amount": 500000,
    "currency": "THB"
  },
  "disputable": false,
  "capturable": false,
  "reversible": false,
  "refundable": false,
  "authorize_uri": "https://pay.omise.co/offsites/ofsp_test_5g2hvak9ayf70bg0gm6/pay"
}

サーバー側のソースと課金を作成する

あるいは、課金作成時にソースを指定する必要がある場合(すなわちサーバ側)、課金API を利用してソースの作成と課金を行うことができます。  

curl https://api.omise.co/charges \
  -X POST \
  -u $OMISE_SECRET_KEY: \
  -d "amount=500000" \
  -d "currency=THB" \
  -d "return_uri=http://example.com/orders/345678/complete" \
  -d "source[type]=installment_kbank" \
  -d "source[installment_term]=4" \
  -H "Omise-Version: 2019-05-29"

承認 

上記のAPIコールから作成された課金オブジェクトには、属性 authorize_uri が含まれています 。こちらが、銀行が運営するWebページのURIで、顧客に課金の確認、および承認を依頼します。

テストモードではURIにアクセスし、手動で課金を成功または失敗としてマークすることで、この一連の動作をシミュレートできます。

Installment Payments Authorize URI Test

ステータスを確認する  

Webhookを介した自動支払い

課金が完了したときに通知を受け取るには、イベントAPIを使用します。設定が完了すると、分割払いの支払いが完了するたびに、イベントキーcharge.completeを含むリクエストが、設定済みのWebhookエンドポイントに送信されます。 詳細はWebhooksをご覧ください。 

課金オブジェクトのステータスには、課金の失敗期限切れ保留、または成功という値を設定できます。 課金が成功した場合、承認済みおよび支払済みの値はtrueとなります。

課金状況が失敗または期限切れとなった場合は、状況の理由を、課金オブジェクトのfailure_codeおよびfailure_message属性からご確認ください。以下はfailure_codeの可能な値と詳細な説明です。

failure_code Description
insufficient_balance アカウントの資金不足、もしくはクレジットカードの限度額が上限に達しています。
payment_cancelled 支払いがキャンセルされました。
timeout 決済の有効期限前にユーザーからの応答がありませんでした。
failed_processing 支払い処理に失敗しました。

マニュアル 

課金APIで説明されているように、idを使用して取得することで、課金の任意の属性を確認できます。こちらはJSONフィルタツール、jqを使った例です。

curl -s https://api.omise.co/charges/$CHARGE_ID \
  -u $OMISE_SECRET_KEY: | jq -M .status
"pending"

返金 

分割払い手数料の返金方法については、返金APIドキュメントをご参照ください。

注:分割払いの手数料は全額払い戻しのみで、部分払い戻しには対応していません。

分割払いを有効にする 

本番モードでの取引でAPIを使用する前に、利用規約をご確認ください。 

利用を開始するにあたって必要なAPIのバージョンは2017-11-02以降です。APIバージョン の更新に関するガイダンスについては、APIバージョンを参照してください。 

Related

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