クレジットカード決済

以下の説明ではすべて、トークン内の顧客のカード情報を取得する必要があります。トークンはすべて、使用できるのは1回限りなのでクレジットカードに直接課金を行うか、今後の使用を考慮してそのクレジットカード情報を顧客(Customer)と関連付ける必要があるかを選ばなければなりません。

クレジットカード情報を顧客と関連付けることの主な長所は、その顧客のクレジットカードに対して複数回にわたって課金可能になるという点です。顧客はリピート購入時に毎回カード情報を入力する必要がありません。

クレジットカードへの直接課金

この方法は最も簡単にクレジットカードに課金ができます。カードトークンを受信し、そのトークンをOmiseのcharge API に課金したい金額とともに送信します。数秒以内にそのクレジットカードへの課金要求が完了します。

注意 : トークンは1度使用されると無効になります。そのトークンで再度クレジットカードへ課金を行ったり顧客を作成したりすることはできなくなります。

Omise Ruby ライブラリを利用する際の例はこちらです。

charge = Omise::Charge.create({
  amount: 100025,
  currency: "jpy",
  description: "Order-345678",
  return_uri: "http://localhost/orders/345678/complete",
  card: params[:omise_token]
})

return_uri3-Dセキュアを使用する際に顧客をリダイレクトさせるためのURLです。 ※現在日本では3Dセキュアはご利用いただけません。

顧客(Customer)への課金

トークンを使用して顧客(Customer)を作成すると必要な時に何回でもクレジットカードに課金することができるようになります。Omiseのcustomers API により、顧客が再度クレジットカード情報を入力する必要のない支払いフローが構築できます。これによりカゴ落ち率(カート放棄率)が劇的に減少します。

顧客への課金を行うために2つの方法を用意しています。

デフォルトカードへの課金

デフォルトのカードを使用する場合は顧客IDを通すだけです。顧客1名につき1枚のカードにしたい場合に有用な方法です。

Omise Ruby ライブラリを利用する際の例はこちらです。

charge = Omise::Charge.create({
  amount: 100025,
  currency: "jpy",
  description: "Order-345678",
  return_uri: "http://localhost/orders/345678/complete",
  customer: user.omise_customer_id
})

特定のカードへの請求

特定のカードを使用する場合は、顧客IDと特定のカードのIDの両方を通します。顧客1名に複数のカードを関連付ける際に有用な方法です。

注意 : 課金を作成するためにトークンを使用してカードに直接課金する場合とは異なり、トークンIDではなく実際のカードIDを通過させる必要があります。すべての顧客カードをリスト化する方法と、ページネーション ドキュメントを読み、カードのリストから特定の顧客を検索する方法をご確認ください。

Omise Ruby ライブラリを利用する際の例はこちらです。

charge = Omise::Charge.create({
  amount: 100025,
  currency: "jpy",
  description: "Order-345678",
  return_uri: "http://localhost/orders/345678/complete",
  customer: customer.omise_id
  card: customer.cards.find_by(id: params[:id]).omise_id
})