メインコンテンツまでスキップ

🌐 ホスト型チェックアウトページの統合

HaloPay のホスト型チェックアウトページと統合します。顧客は HaloPay がホストするチェックアウトページにリダイレクトされます。フロントエンドの作業を最小限に抑えた最もシンプルな統合です。

📦 ステップ 1: 支払い注文の作成

支払い注文を送信し、支払いアドレスを受け取る

**POST** https://api.pay.halochat.io/api/entrust/pre-create

受信アドレス/QRコードと注文情報を返します

Headers

名前タイプ説明
X-Sign*StringhmacSHA256 (body (json string)+timestamp+appKey)。署名ガイド
X-Timestamp*String秒単位のタイムスタンプ (10桁)。リクエストは2分間有効です。
X-Appid*Stringmerchantの一意の認証情報。**アプリ管理ページ**で確認できます。
content-type*Stringapplication/json

リクエスト Body

名前タイプ必須説明
out_trade_noStringはいマーチャントシステムの注文ID。各注文の固有ID
symbolStringはい法定通貨のシンボル
amountStringはい金額(小数点以下2桁に四捨五入)
nameStringいいえ製品名
imageStringいいえ製品の画像URL
describeStringいいえ製品の説明
time_expireStringいいえ有効期限(秒)、0 はデフォルトを示します
callback_urlStringいいえコールバック URL

リクエスト Body の例

{
"out_trade_no": "uz54NEW9TVhLSIDHUSYB4aEFupKoE7I8",
"symbol": "USD",
"amount": "15",
"name": "PRODUCT_NAME",
"image": "https://callback.com/logo.png",
"describe": "CHECKOUT_DESCRIPTION",
"time_expire": 1773750780,
"callback_url": "https://callback.com/"
}

レスポンス (成功 200)

Header

名前必須タイプ説明
X-Appidh3j6k9m2n...YStringマーチャントの固有の認証情報。AppManage ページ で見つけてください。
X-Timestamp1677152490YString秒単位のタイムスタンプ (10桁)。リクエストは2分間有効です。
X-Signe0b78d93...YStringhmacSHA256 (body (json string)+timestamp+appKey)。署名ガイド

Body

{
"code": 0,
"msg": "success",
"data": {
"url": "https://checkout.pay.halochat.io/202603172021145994e1572e91672b34",
"time_expire": 1773750780,
"trade_no": "202603172021145994e1572e91672b34"
}
}

パラメーター

名前必須タイプ説明
code0trueInteger
messagesuccesstrueString
datatrueObject
data.urlhttps://checkout.pay.halochat.io/202603172021145994e1572e91672b34trueString支払いに使用されるウェブページのアドレス
data.time_expire1773754032trueInteger支払い期限
data.trade_no202603172021145994e1572e91672b34trueStringHaloPay 注文 ID

レスポンス (失敗 200)

{
"code": 10003,
"msg": "Params Error: Invalid amount",
"data": null
}
名前必須タイプ説明
code10003trueNumber
msgService error, please try againtrueString
datatrueObject
注記

セキュリティ対策として、返されるデータに署名します(これによれば { code: 0 } のみに署名すべきですが、返される body 全体に署名します)。さらに、レスポンスの header に Appid、Sign、Timestamp を返します。署名方法は hmacSHA256 (body (json string)+timestamp+appKey) です。署名の検証に失敗した場合は、データが改ざんされていることを示しているため、データは慎重に取り扱ってください。

ヒント

HTTP の body は json 文字列です。HTTP の body 内のコンテンツを署名に追加してください。body のコンテンツが署名のコンテンツと一致することを確認してください。HaloPay がリクエストを受信するとすぐに、body のコンテンツが読み取られ、署名が検証されます。

ステップ 2: 支払い通知を受信するための Webhook を設定する