課金
トランザクショントークンを作成して顧客の決済情報を収集した後、ペイメントを完了するために課金(Charge)を作成します。
課金(Charge)は、非同期処理されるので、作成時には、pending
状態になっています。UnivaPayがペイメントの処理を完了後、ステータスは、結果に応じてsuccessful
, failed
, error
に変更されます。ウェブフックのCHARGE_FINISHED
イベントを登録することで課金(Charge)の最終状態を得ることができます。または、ロングポーリングを行って課金の状態を取得することもできますが、これは最終状態を返すことは保証されません。
オーソリ
オーソリ(Authorization)は、支払い方法がクレジットカードの時に利用でき、そのクレジットカードが実際に利用可能かどうかを確認し、与信枠の確保を行います。その後、キャプチャを行い決済を確定します。
オーソリを行うには、課金の作成時に capture
パラメータを false
に指定して課金を作成します。この際に、 capture_at
パラメータで自動的にキャプチャを行う日時を指定することもできます。作成された課金は pending
状態になり、カード会社により承認されると authorized
状態になります。オーソリは有効期限切れや与信枠の不足など、様々な理由で失敗する可能性があり、その場合は failed
ステータスとなります。
キャプチャを行うには、authorized
状態の課金に対してキャプチャのリクエストを送信します。詳細は課金のキャプチャの作成を参照してください。
キャプチャを行わない場合は、キャンセルして与信枠を解放する必要があります。
テストカード
テストモードのアプリケーショントークンで課金(Charge)を行う場合には、成功または失敗を意図的に発生させるための特別なテスト用のカード番号があります。
4111111111111111
の様に1111
で終わるカード番号を使用すると課金(Charge)は失敗します。4242424242424242
の様に4242
で終わるカード番号を使用すると課金(Charge)は成功しますが、返金(Refund)が失敗します。4012888888881881
の様に1881で終わるかーど番号を使用すると課金(Charge)は成功しますが、取り消し(Cancel)が失敗します。- その他のカード番号も発行ロジックに沿ったものであれば課金(Charge)も返金(Refund)も成功します。このようなサイトで、ランダムなテスト用カード番号を生成することができます
課金オブジェクト
Fields | |
---|---|
id | string (UUID) 課金のユニークID |
store_id | string (UUID) 課金(Charge)が行われたストアのユニークID |
transaction_token_id | string (UUID) 課金(Charge)を実行するために使用されるトークンのユニークID |
transaction_token_type | stringtransaction_token_id のトランザクショントークンの種別。 |
subscription_id | string (UUID) この課金(Charge)が作成された定期課金(Subscription)のユニークID。定期課金(Subscription)がなければnullです。 |
merchant_transaction_id | string 課金を作成したところ支払先に送る取引IDです。 |
requested_amount | number リクエストされた課金金額 |
requested_currency | string (ISO-4217) リクエストされた課金通貨 |
requested_amount_formatted | string 補助単位があれば、その小数の値を含む課金のリクエスト金額 |
charged_amount | number 課金(Charge)された金額。リクエストされた金額とは異なる場合があります。通貨の変換について |
charged_currency | string (ISO-4217) 課金(Charge)された通貨。リクエストされた通貨とは異なる場合があります。通貨の変換について |
charged_amount_formatted | string 補助単位があれば、小数の値を含む課金された金額 |
only_direct_currency | boolean リクエストされた通貨をサポートするゲートウェイのみを使用すべきかどうか |
capture_at | string (ISO-8601) 自動的にキャプチャされる日時 |
descriptor | string 自動的にキャプチャされる日時 |
status | string 課金ステータス。 pending , awaiting , successful , failed , error , authorized , canceled のいずれかになります。error は異常な状態を表し、サポートチームが課金のレビューを行った後に、ステータスが変更されることがあります |
error.code | string 課金が失敗またはエラーになった理由を表すエラーコード |
error.message | string 課金が失敗した理由 |
error.detail | string 課金が失敗した詳細理由 |
metadata | json 課金(Charge)に紐づいているメタデータ。定期課金(Subscription)で作成されたメタデータがそれに関連する課金に引き継がれます |
mode | string
|
created_on | string (ISO-8601) 課金が作成された日時 |