Skip to main content
v2 Payin API では、統一された1つのスキーマで、複数の通貨で顧客から決済を回収できます。銀行振込、電子ウォレット、QR 決済、モバイルマネーなどを、すべて同じエンドポイント群で受け付けられます。このページでは、テスト用のサンドボックスのシミュレーションを含む、すべての Payin のエンドポイントを解説します。
Payin を作成する前に、Get Payin Methods と Get Required Fields を呼び出して、設定した通貨で利用できる決済手段と顧客の項目を確認してください。

Get Payin Methods

GET /v2/payins/payin_methods app-id で利用できるすべての決済手段を返します。返される手段は、Hello Clever の Merchant Dashboard に設定された国と通貨によって決まります。

レスポンスの項目

object[]
利用できる Payin の手段の配列。
v2 は決済手段を payin_method_name で識別します。payin_method_code の項目は v3 ゲートウェイのものであり、ここでは返されず、受け付けられません。手段の上下限、ロゴ、必須パラメーターについては Get Payin Required Fields を呼び出してください。

Get Payin Required Fields

GET /v2/payins/payin_method/params 特定の決済手段で Payin を作成するために必要(または任意)な項目を返します。収集すべき顧客のデータを把握するため、手段ごとに一度呼び出してください。

クエリのパラメーター

string
必須
Get Payin Methods から返された手段の識別子(例:my_bank_duitnow_myr)。

レスポンスの項目

object
リクエストした決済手段の詳細。

Create Payin

POST /v2/payins 新しい Payin のリクエストを作成します。正しい手段のコードと必須項目を揃えるため、先に Get Payin Methods と Get Required Fields を呼び出す必要があります。
Payin の手段が jp_bank_jpyar_bank_arskr_bank_va_kyc_krw の場合、バーチャル口座番号などの決済情報は API のレスポンスではなく、Payin の作成後に Webhook を通じて非同期に届きます。

ボディのパラメーター

string
必須
Get Payin Methods が返した手段の識別子(例:my_bank_duitnow_myr)。
object
必須
手段ごとのパラメーター。この手段が想定する正確なキーは Get Payin Required Fields で確認してください。手段ごとに異なり、一部は必須です。パラメーターが不要な手段には {} を送ります。
number
必須
その通貨の基本単位における決済金額。VNDJPYXAFKRWXOF では、この値がその通貨が対応する精度へ丸められます。金額の丸めを参照してください。
string
必須
ISO 4217 の通貨コード(例:MYRVNDAUD)。
string
必須
顧客の名前。
string
必須
顧客のメールアドレス。手段が require_contact: true を返す場合、コンタクトの作成に使ったメールアドレスと一致させる必要があります。
string
必須
この決済の説明。
boolean
必須
取引に GST を含めます。オーストラリアの加盟店による AUD の取引の場合のみ true に設定してください。
object
必須
この Payin の Webhook の設定。
string
この取引に対する自社の識別子。Payin に返され、Get Payins in a Period の絞り込み条件として使えます。
string
YYYY-MM-DDTHH:mm:ss 形式の失効日時。適用されるのは vn_vietqr_vnd のみで、他のすべての手段は上書きできない固定の既定値を使います。少なくとも 15 分先である必要があります。
object
取引に付加する任意のカスタムのキーバリューのデータ。Payin と Webhook のペイロードにそのまま返されます。
v2 には sender_infoexpire_inredirect_url はありません。これらは v3 ゲートウェイのものです。顧客はトップレベルの nameemail として送り、失効には expired_at を使ってください。

レスポンスの項目

string
この Payin の取引の一意の識別子。
string
現在のステータス。pendingwaitingreceivedexpiredreturn_pendingreturn_receivedreturn_expiredreturn_rejected のいずれかです。ライフサイクル全体は決済のステータスを参照してください。
string
決済がオーソリのフローのどこにあるか。normal_stageauthorize_otpauthorize_stk のいずれかです。
object
顧客が支払いを完了するために使う情報。内容は手段によって異なり、ホスト型のフローでは payment_url、銀行振込では account_nameaccount_numberbank_name などの銀行の項目になります。jp_bank_jpyar_bank_arskr_bank_va_kyc_krw では、レスポンスではなく Webhook で届きます。
string
この取引で使用された payin_method_name
number
取引金額。gst_amounttotalpaid_amount とあわせて返されます。
boolean
この Payin が返金可能かどうか。
string
Payin が失効する日時。pay_by は顧客が支払うべき期限を返します。
Webhook はベストエフォートで呼び出されます。エンドポイントが HTTP 200 を返さない場合、Hello Clever は 15 分の間隔を置いて3回リトライします。Webhook のハンドラーは冪等になるよう設計してください。

Get Payin Details

GET /v2/payins/detail UUID を指定して、特定の Payin のリクエストの完全な詳細を返します。

クエリのパラメーター

string
必須
Payin の取引の一意の識別子。

Get Payins in a Period

GET /v2/payins/all app-id に紐づく Payin の取引のページ分割された一覧を返します。期間と、任意でステータスによる絞り込みができます。既定では1ページ 20 件を返します。

クエリのパラメーター

string
必須
期間の開始日時(ISO 8601 形式。例:2025-01-01T00:00:00Z)。
string
必須
期間の終了日時(ISO 8601 形式)。
string
自社の識別子に一致する Payin に絞り込みます。
number
デフォルト:"1"
ページ分割のページ番号。
number
デフォルト:"20"
1 ページあたりの件数。

Cancel Payin

POST /v2/payins/cancel pending の Payin の取引を取り消します。ステータスは expired へ移ります。このエンドポイントを呼び出す前に、その Payin の手段で is_cancellable == true であることを確認してください。

ボディのパラメーター

string
必須
取り消す保留中の Payin の UUID。

Refund Payin

POST /v2/payins/refund 完了した (received) Payin に対して返金を開始します。このエンドポイントを呼び出す前に、その取引で is_refundable == true であることを確認してください。
Payin が成功した直後に返金を開始する場合、返金は全額でなければなりません。一部返金は、Payin の完了から 30 分から1時間経過した後にのみ対応しています。

ボディのパラメーター

string
必須
返金する received の Payin の UUID。
string
必須
返金の理由。5 文字以上である必要があります。
number
返金する金額。省略した場合は全額が返金されます。一部返金は Payin の完了から 30〜60 分後にのみ可能です。

Payin のシミュレーション(サンドボックスのみ)

POST /v2/payins/simulate サンドボックス環境で、保留中の Payin の結果を模擬します。Payin は pending のステータスである必要があります。このエンドポイントは本番環境では利用できません。

ボディのパラメーター

string
必須
模擬する保留中の Payin の UUID。
string
必須
模擬する結果。completed または failed です。
number
支払済みとして模擬する金額。既定では Payin の全額です。

OTP による取引のオーソリ

POST /v2/payins/confirm_otp モバイルマネーの手段(例:gh_mobile_money_ghs)で Payin を作成した後、レスポンスの stageauthorize_otp であれば、顧客の電話に OTP が送信されています。顧客から OTP を受け取り、このエンドポイントへ送信してください。成功すると、顧客が PIN で決済を確定するための STK プッシュが電話へ送信されます。

ボディのパラメーター

string
必須
OTP のオーソリを待っている Payin の UUID。
string
必須
顧客の電話で受け取った OTP。

OTP の再送信

POST /v2/payins/resend_otp 元の OTP が失効した、または顧客が受け取れなかった場合に、モバイルマネーの Payin の OTP を再送信します。

ボディのパラメーター

string
必須
OTP を再送信する Payin の UUID。