メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://waffo.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

決済手段フィルタリング

payMethodTypepayMethodName を使用して、Cashier に表示する決済手段を制御します。 決済手段ごとの特例や App WebView / iframe の制限については、Payment method integration notes を参照してください。

推奨パラメータの組み合わせ

シナリオpayMethodTypepayMethodNamepayMethodCountry備考
Cashier 内でユーザーが選択(推奨)省略省略省略利用可能なすべての決済手段を表示し、ユーザーに選択させる
カード決済"CREDITCARD,DEBITCARD"省略省略クレジット/デビットカード両対応。Waffo が BIN からカードブランド(Visa/Mastercard)を自動判別し、ユーザーの手間を軽減
クレジットカードのみ"CREDITCARD"省略省略クレジットカードのみ表示
VA(仮想口座)"VA"省略必要に応じて渡すCashier 内でユーザーが具体的な銀行を選択
特定のウォレット対応する種別対応する名前必要に応じて渡す例:"EWALLET" + "DANA"

// Best practice: card payments (credit + debit, Visa + Mastercard)
{
  "paymentInfo": {
    "productName": "ONE_TIME_PAYMENT",
    "payMethodType": "CREDITCARD,DEBITCARD"
  }
}

payMethodCountry を渡すタイミング

Cashier で特定の国の決済手段のみを表示したい場合に、このフィールドを渡します。
  • 省略:加盟店契約に基づく、すべての国で利用可能な決済手段を表示します。
  • 指定:指定した国の決済手段のみ表示します。
// Show Indonesian payment methods only
{
  "paymentInfo": {
    "productName": "ONE_TIME_PAYMENT",
    "payMethodCountry": "IDN"
  }
}
グローバルカード(CREDITCARD/DEBITCARD)には payMethodCountry渡さないでください。グローバルカードは特定の国に属しません。

多通貨対応

加盟店の価格通貨とユーザーの決済通貨が異なる場合(クロスカレンシー注文):
{
  "orderCurrency": "USD",
  "orderAmount": "10.00"
}
userCurrency は省略可能です。Waffo が自動的に為替変換を処理し、ユーザーには Cashier 上で現地通貨の金額が表示されます。

言語設定

paymentInfo.cashierLanguage を使用して Cashier の表示言語を設定します(IETF BCP 47 形式):
{
  "paymentInfo": {
    "productName": "ONE_TIME_PAYMENT",
    "cashierLanguage": "en-HK"
  }
}
対応言語および適用通貨/国:
言語コード言語適用通貨適用国
en英語すべての通貨すべての国(既定のフォールバック)
id-IDインドネシア語IDRインドネシア
vi-VNベトナム語VNDベトナム
pt-BRポルトガル語(ブラジル)BRLブラジル
es-MXスペイン語(メキシコ)MXNメキシコ
es-PEスペイン語(ペルー)PENペルー
es-COスペイン語(コロンビア)COPコロンビア
es-CLスペイン語(チリ)CLPチリ
ru-RUロシア語RUBロシア
en-KE英語(ケニア)KESケニア
zh-Hant-TW繁体字中国語(台湾)TWD台湾
zh-Hant-HK繁体字中国語(香港)HKD香港

自動選択ロジック

cashierLanguage を指定しない場合、Waffo は以下の優先順位で自動的に言語を選択します:
  1. ユーザーの国でマッチング(例:ユーザーの国が IDN → id-ID
  2. 注文通貨でマッチング(例:通貨が BRL → pt-BR
  3. マッチしない場合 → en にフォールバック

注意事項

  • 言語は通貨/国と一致する必要があります。例えば IDR 通貨の注文では id-ID または en のみ使用可能で、pt-BR を指定するとエラーコード A0026 が返されます。
  • en は汎用言語であり、すべての通貨と国で使用できます。
  • 上記の表に記載されていない通貨(例:USDEURSGD)は en のみサポートされます。
サポート外の言語はエラーコード A0026 を返します。

テーマカスタマイズ

Cashier のカラー、フォント、スタイルをブランドに合わせてカスタマイズできます。

3 つの設定方法

方法優先度説明
API パラメータ(トランザクション単位)最高paymentInfo.cashierAppearance 経由で渡す。トランザクションごとに変更可能
Merchant Portal(グローバル)Merchant Portal でグローバルな既定テーマを設定
SDK 初期化(クライアント側)最低フロントエンド SDK の初期化時にテーマ設定を渡す
優先順位:API パラメータ > Merchant Portal > SDK 初期化。API 経由で cashierAppearance が渡された場合、他のすべての設定を上書きします。

テーマ変数

変数説明値の例
colorPrimaryプライマリーカラー(ボタン、リンク、選択状態)#0570de
colorBackgroundページ背景色#ffffff
colorTextメインテキストの色#30313d
borderRadius角の丸み8px
これらの変数は Cashier UI のレンダリング層に注入され、既定のテーマを上書きします。決済手段選択ページ、カードフォームページ、遷移ページ、決済結果ページに影響します。

API パラメータ方式

対応エンドポイント:
  • POST /api/v1/order/create
  • POST /api/v1/subscription/create
cashierAppearance フィールドは JSON 文字列(JSON オブジェクトではなく)である必要があり、構造は {"variables": { ... }} です。内部のクォートはエスケープしてください。
{
  "paymentInfo": {
    "productName": "ONE_TIME_PAYMENT",
    "cashierAppearance": "{\"variables\":{\"colorPrimary\":\"#0570de\",\"colorBackground\":\"#ffffff\",\"colorText\":\"#30313d\",\"borderRadius\":\"8px\"}}"
  }
}

Merchant Portal での設定

Merchant Portal にログインし、Cashier 設定ページでグローバルな既定テーマを設定します。すべてのトランザクションで統一されたブランドスタイルを共有したい場合に最適な選択肢です。

SDK 初期化

フロントエンド SDK(@waffo/payment-sdk)の初期化時にテーマ設定を渡します。優先度は最低で、API および Merchant Portal のいずれにもテーマ設定がない場合にのみ有効となります。

注文の有効期限

orderExpiredAt を使用して注文の有効期限を設定します(ISO 8601、UTC+0)。
{
  "orderExpiredAt": "2026-03-25T11:00:00.000Z"
}
このフィールドはユーザーが Cashier 内で注文を送信できる時間枠を制御します。注文が決済チャネルに送信された後は、有効期限は決済手段自体によって管理されます。一部の決済手段では加盟店からチャネル側の有効期限を渡すことをサポートしています。決済手段ごとの有効期限詳細は Portal の Payin ページで確認してください。

リダイレクト URL

パラメータ説明
successRedirectUrl決済成功後のリダイレクト
failedRedirectUrl決済失敗後のリダイレクト
cancelRedirectUrlユーザーが能動的にキャンセルした後のリダイレクト
HTTPS URL およびディープリンク(アプリ内シナリオなど)の両方をサポートしています。
リダイレクト URL はユーザー体験を制御するのみで、決済結果を表すものではありません。決済結果の信頼できる情報源は常に Webhook または照会 API を使用してください。