課金

トランザクショントークンを作成して顧客の決済情報を収集した後、ペイメントを完了するために課金(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
idstring (UUID)
課金のユニークID
store_idstring (UUID)
課金(Charge)が行われたストアのユニークID
transaction_token_idstring (UUID)
課金(Charge)を実行するために使用されるトークンのユニークID
transaction_token_typestring
transaction_token_id のトランザクショントークンの種別。
subscription_idstring (UUID)
この課金(Charge)が作成された定期課金(Subscription)のユニークID。定期課金(Subscription)がなければnullです。
merchant_transaction_idstring
課金を作成したところ支払先に送る取引IDです。
requested_amountnumber
リクエストされた課金金額
requested_currencystring (ISO-4217)
リクエストされた課金通貨
requested_amount_formattedstring
補助単位があれば、その小数の値を含む課金のリクエスト金額
charged_amountnumber
課金(Charge)された金額。リクエストされた金額とは異なる場合があります。通貨の変換について
charged_currencystring (ISO-4217)
課金(Charge)された通貨。リクエストされた通貨とは異なる場合があります。通貨の変換について
charged_amount_formattedstring
補助単位があれば、小数の値を含む課金された金額
only_direct_currencyboolean
リクエストされた通貨をサポートするゲートウェイのみを使用すべきかどうか
capture_atstring (ISO-8601)
自動的にキャプチャされる日時
descriptorstring
自動的にキャプチャされる日時
statusstring
課金ステータス。pending, awaiting, successful, failed, error, authorized, canceled のいずれかになります。error は異常な状態を表し、サポートチームが課金のレビューを行った後に、ステータスが変更されることがあります
error.codestring
課金が失敗またはエラーになった理由を表すエラーコード
error.messagestring
課金が失敗した理由
error.detailstring
課金が失敗した詳細理由
metadatajson
課金(Charge)に紐づいているメタデータ定期課金(Subscription)で作成されたメタデータがそれに関連する課金に引き継がれます
modestring
liveまたはtest
created_onstring (ISO-8601)
課金が作成された日時