Skip to content

Query Payment Order

Query the current status of a payment. Use for: order page polling, reconciliation, or order repair.

Request

  • Method: POST
  • Path: /api/v1/payin/payment/orderQuery
  • Content-Type: application/json
  • Auth: Include AppId, Timestamp, and Signature as in Authentication; follow the same signing algorithm

Request Body

ParameterTypeRequiredDescription
paymentIdstringNoVelora platform payment ID, which is the paymentId returned in the payment callback
merchantOrderIdstringNoMerchant order ID (the merchantOrderId sent when creating the payment)

Use either paymentId or merchantOrderId to query the order.

Request example

json
{
  "paymentId": "payin_20260331145719282948882"
}

or

json
{
  "merchantOrderId": "M202512180001"
}

Response

Response body has a unified structure: result for payment outcome, data for order details.

result object

FieldTypeDescription
codestringResponse code (success/failure)
msgstringMessage

data object

FieldTypeLength / limitsAlways returnedDescription
paymentIdstring/YesVelora platform payment ID
merchantOrderIdstring/NoMerchant order ID
pspstring/NoPSP identifier that actually processes the order
channelOrderIdstring/NoOrder ID on the PSP / channel side
channelMerchantOrderIdstring/NoMerchant order ID on the PSP / channel side
statusstring/YesCurrent payment status; see Order status
amountobject/NoAmount; see below
paymentMethodobject/NoPayment method; see below
createdAtstring/NoCreated at
updatedAtstring/NoUpdated at

data.amount object

FieldTypeLength / limitsAlways returnedDescription
valuestring/Yes when amount is presentAmount as string, e.g. "29.00"
currencystring/Yes when amount is presentCurrency code

data.paymentMethod object

FieldTypeLength / limitsAlways returnedDescription
typestring/NoPayment method type
paymentBrandstring/NoPayment brand

Response example

json
{
  "result": {
    "code": "S0000",
    "msg": "Payment query successfully"
  },
  "data": {
    "paymentId": "payin_20260331145719282948882",
    "merchantOrderId": "ORDER_20260331_145711_1LOQON",
    "psp": "gcash_partner",
    "channelOrderId": "GCASH20260331145719282948882",
    "channelMerchantOrderId": "ORDER_20260331_145711_1LOQON",
    "status": "Success",
    "amount": {
      "value": "29.00",
      "currency": "PHP"
    },
    "paymentMethod": {
      "type": "e-wallet",
      "paymentBrand": "gcash"
    },
    "createdAt": "2026-03-31T14:57:19+08:00",
    "updatedAt": "2026-03-31T15:00:12+08:00"
  }
}

Crypto query response structure

For cryptocurrency collection scenarios, the query response differs from standard payment flows mainly because paymentMethod includes an additional crypto object that describes the on-chain transaction details.

data.paymentMethod.crypto object

FieldTypeAlways returnedDescription
chainstringYesChain type, such as ETH, BSC, or TRON
fromAddressstringYesWallet address from which the user initiated the transfer
toAddressstringYesMerchant collection wallet address
logIndexstringYesOn-chain event log index
txHashstringYesOn-chain transaction hash

Crypto query response example

Note: Merchants do not need to strictly use all fields returned by this query. They can use the JSON structure under the crypto field to implement their own generic business processing.

json
{
  "result": {
    "code": "S0000",
    "msg": "Payment query successfully"
  },
  "data": {
    "psp": "cryptopay",
    "status": "Success",
    "paymentId": "payin_20260528104200903337225",
    "channelOrderId": "0xd9ca31dd9f6f12077fd3525acb6706de610ae0c2c30315300e51f74f0cbd91b6_0",
    "channelMerchantOrderId": "0xd9ca31dd9f6f12077fd3525acb6706de610ae0c2c30315300e51f74f0cbd91b6_0",
    "merchantOrderId": "0xd9ca31dd9f6f12077fd3525acb6706de610ae0c2c30315300e51f74f0cbd91b6",
    "amount": {
      "value": "1.36000",
      "currency": "USDT"
    },
    "paymentMethod": {
      "type": "crypto",
      "paymentBrand": "BSC",
      "crypto": {
        "chain": "BSC",
        "fromAddress": "0x38c9e15b7a28038f74290187e2747954ee507411",
        "toAddress": "0x8be0f2577b0018844ff19b675f387cc36605f1b7",
        "logIndex": "0",
        "txHash": "0xd9ca31dd9f6f12077fd3525acb6706de610ae0c2c30315300e51f74f0cbd91b6"
      }
    },
    "createdAt": "2026-05-28T10:42:00+08:00",
    "updatedAt": "2026-05-28T10:42:00+08:00"
  }
}

See also