v1.0.9 · 2026-06-21

ベトナム決済APIドキュメント | ucake API Docs

ベトナム決済システムの標準APIです。送金、送金照会、バーチャル口座作成、バーチャル口座停止、バーチャル口座照会、会社残高照会、動的QR作成、非同期通知をカバーします。

Base path: /vnpay/api/v1

APIエンドポイント

送金API

POST /vnpay/api/v1/payment

このAPIを呼び出してユーザーの銀行口座へ送金します。

リクエスト項目

  • amount - integer - 必須 - 送金金額。範囲は50,000〜50,000,000です。
  • orderNo - string - 必須 - 加盟店注文番号。各リクエストで一意である必要があります。
  • accountName - string - 必須 - ユーザー名
  • phoneNo - string - 任意 - ユーザー携帯番号
  • accountNo - string - 必須 - ユーザー口座番号
  • accountType - integer - 必須 - 口座タイプ: 0 口座番号、1 カード番号。
  • bankCode - string - 必須 - 銀行コード
  • message - string - 必須 - 送金メモ
  • returnURL - string - 必須 - コールバック通知URL
  • companyID - string - 必須 - バックエンドで割り当てられた会社IDです。
  • merchantID - string - 必須 - バックエンドで割り当てられた加盟店IDです。
  • timestamp - number - 必須 - タイムスタンプ
  • sign - string - 必須 - 署名

レスポンス項目

  • amount - integer - 取引金額
  • orderNo - string - リクエストで渡された加盟店注文番号です。
  • tradeNo - string - 取引シリアル番号
  • createTime - string - 取引作成時刻。形式: yyyy-MM-dd HH:mm:ss。
  • updateTime - string - 取引の最終更新時刻です。
  • bankCode - string - 銀行コード
  • phoneNo - string - 携帯番号
  • accountName - string - ユーザー名
  • accountNo - string - ユーザー口座番号
  • accountType - integer - 口座タイプ
  • message - String - メモ

送金結果照会API

GET /vnpay/api/v1/paymentResult

送金が処理中の場合、通知を待つか、結果を手動で照会できます。

リクエスト項目

  • orderNo - string - 必須 - 送金APIに渡した注文番号です。
  • tradeNo - string - 必須 - 送金APIが返した取引シリアル番号です。
  • companyID - string - 必須 - バックエンドで割り当てられた会社IDです。
  • merchantID - string - 必須 - バックエンドで割り当てられた加盟店IDです。
  • sign - string - 必須 - 署名
  • timestamp - number - 必須 - タイムスタンプ

レスポンス項目

  • amount - integer - 取引金額
  • orderNo - string - 加盟店注文番号
  • tradeNo - string - 取引シリアル番号
  • createTime - string - 取引作成時刻
  • updateTime - string - 取引の最終更新時刻です。
  • bankCode - string - 銀行コード
  • phoneNo - string - 携帯番号
  • accountName - string - ユーザー名
  • accountNo - string - ユーザー口座番号
  • accountType - integer - 口座タイプ
  • message - string - メモ

バーチャル口座作成

POST /vnpay/api/v1/createVirtualCard

バーチャル口座を作成し、口座番号、QRCode文字列、VietQR画像リンクを返します。

リクエスト項目

  • orderNo - string - 必須 - 取引注文番号
  • accountName - string - 任意 - バーチャル口座名
  • phoneNo - string - 任意 - ユーザー携帯番号
  • bankCode - string - 任意 - バーチャル口座を作成する銀行です。
  • companyID - string - 必須 - バックエンドで割り当てられた会社IDです。
  • merchantID - string - 必須 - バックエンドで割り当てられた加盟店IDです。
  • timestamp - string - 必須 - タイムスタンプ
  • sign - string - 必須 - 署名
  • totalFee - Long - 任意 - 入金金額

レスポンス項目

  • orderNo - string - 取引注文番号
  • bankCode - string - 銀行コード
  • accountName - string - 口座名
  • accountNo - string - 口座番号
  • accountStatus - integer - 状態: 0 停止、1 正常。
  • createdTime - string - 作成時刻
  • expireTime - string - 有効期限
  • closeTime - string - 停止時刻
  • QRCode - String - QRコード文字列情報
  • QRImgUrl - String - VietQR画像リンク

バーチャル口座停止

POST /vnpay/api/v1/closeVirtualCard

指定したバーチャル口座を停止し、停止後の口座状態を返します。

リクエスト項目

  • accountNo - string - 任意 - 作成時に返された銀行口座番号です。
  • bankCode - string - 任意 - 銀行コード
  • companyID - string - 任意 - バックエンドで割り当てられた会社IDです。
  • merchantID - string - 任意 - バックエンドで割り当てられた加盟店IDです。
  • timestamp - integer - 任意 - タイムスタンプ
  • sign - string - 任意 - 署名

レスポンス項目

  • bankCode - string - 銀行コード
  • accountName - string - 口座名
  • accountNo - string - 口座番号
  • accountStatus - integer - 状態: 0 停止、1 正常。
  • createdTime - string - 作成時刻
  • expireTime - string - 有効期限
  • closeTime - string - 停止時刻

バーチャル口座照会

GET /vnpay/api/v1/queryVirtualCard

bankCode、accountName、accountNoでバーチャル口座状態を照会します。

リクエスト項目

  • bankCode - string - はい - 銀行コード
  • accountName - string - はい - 口座名
  • accountNo - string - はい - 口座番号
  • companyID - string - はい - バックエンドで割り当てられた会社IDです。
  • merchantID - string - はい - バックエンドで割り当てられた加盟店IDです。
  • sign - string - はい - 署名
  • timestamp - string - はい - タイムスタンプ

レスポンス項目

  • bankCode - string - 銀行コード
  • accountName - string - 口座名
  • accountNo - string - 口座番号
  • accountStatus - integer - 状態: 0 停止、1 正常。
  • createdTime - string - 作成時刻
  • expireTime - string - 有効期限
  • closeTime - string - 停止時刻

会社残高照会

POST /vnpay/api/v1/queryBalance

会社口座の現在残高を照会します。

リクエスト項目

  • companyID - string - 必須 - バックエンドで割り当てられた会社IDです。
  • merchantID - string - 必須 - バックエンドで割り当てられた加盟店IDです。
  • sign - string - 必須 - 署名
  • timestamp - integer - 必須 - タイムスタンプ

レスポンス項目

  • companyID - string - バックエンドで割り当てられた会社IDです。
  • merchantID - string - バックエンドで割り当てられた加盟店IDです。
  • balance - string - 会社の現在残高

動的QR作成

POST /vnpay/api/v1/createDynamicQr

指定金額の動的QRを作成し、QR文字列と有効期限を返します。

リクエスト項目

  • merchantID - string - 必須 - バックエンドで割り当てられた加盟店IDです。
  • companyID - string - 必須 - バックエンドで割り当てられた会社IDです。
  • orderNo - string - 必須 - 取引注文番号
  • amount - Long - 必須 - 入金金額
  • message - string - 任意 - メモ
  • timestamp - string - 必須 - タイムスタンプ
  • sign - string - 必須 - 署名

レスポンス項目

  • orderNo - string - 取引注文番号
  • amount - Long - 入金金額
  • expiresAt - string - 動的QRの有効期限
  • qrCode - String - QRコード文字列情報

コールバック

送金結果通知

送金APIに渡したURLです。

処理中の送金に最終結果が出た後、送金APIに渡したURLへ通知します。

  • companyID - string - 会社ID
  • merchantID - string - 加盟店ID
  • orderNo - string - 加盟店注文番号
  • tradeNo - string - 取引シリアル番号
  • bankCode - string - 銀行コード
  • accountNo - string - 口座番号
  • amount - number - 取引金額
  • message - string - 送金メモ
  • result - String - 取引失敗時のエラー理由です。
  • updateTime - String - 取引更新時刻
  • status - number - 取引状態: 0 成功、3 失敗、4 キャンセル。
  • sign - string - 署名

入金結果通知

加盟店バックエンドで設定された通知URLです。

バーチャル口座が入金を受け取ると、入金情報をパートナーへ送信します。

  • companyID - string - 会社ID
  • merchantID - string - 加盟店ID
  • orderNo - string - 加盟店注文番号
  • tradeNo - string - 取引シリアル番号
  • bankCode - string - 銀行コード
  • accountNo - string - バーチャル口座番号
  • amount - number - 入金金額
  • message - string - 決済システムが返す取引情報です。
  • senderName - string - 支払人
  • senderAccount - string - 支払口座
  • senderBankCode - string - 支払銀行コード
  • sign - string - 署名

返金通知

加盟店バックエンドで設定された返金通知URLです。

注文返金が成功した後、返金情報をパートナーへ送信します。

  • companyID - string - 会社ID
  • merchantID - string - 加盟店ID
  • orderNo - string - 加盟店注文番号
  • tradeNo - string - 取引シリアル番号
  • bankCode - string - 銀行コード
  • accountNo - string - 銀行口座番号
  • amount - number - 取引金額
  • updateTime - string - 更新時刻
  • status - string - 状態: 5 返金済み。
  • sign - string - 署名