production

Query pay-in order

POST/pay-in/inquiryTry it in Swagger →

Sandbox https://test.lintaspay.xyz/pay-in/inquiry · Production https://lintaspay.xyz/pay-in/inquiry

Returns the latest status of a pay-in order. Use orderNo (preferred) or your mchOrderNo.

Request

Headers

HeaderRequiredValue
Content-Typerequiredapplication/json
AuthorizationrequiredLINTASPAY-SHA256withRSA app_id=…,nonce=…,timestamp=…,sign=… — see Signing requests
lintaspay-request-idrequiredUnique request id, [A-Za-z0-9_-], max 64

Body parameters

NameTypeRequiredDescription
nonceStrstringrequiredRandom string, max 64 chars. Max length 64.
Example: 5f1c2a9e8b7d4c3a
orderNostringoptionalLintasPay order number returned by create.
Example: LPIN2026101410300512AB34CD56EF
mchOrderNostringoptionalYour order number.
Example: M202610140001

Example

{
  "nonceStr": "5f1c2a9e8b7d4c3a",
  "orderNo": "LPIN2026101410300512AB34CD56EF"
}

Response

HTTP 200 with the envelope {"code", "message", "data"}. code = 0 means success; otherwise data is null and code is an error code. Authentication failures return HTTP 401 (403 for a blocked IP, 429 when rate-limited). Always verify the response signature.

data fields

NameTypeDescription
merchantIdinteger
Example: 100001
mchOrderNostring
Example: M202610140001
orderNostring
Example: LPIN2026101410300512AB34CD56EF
amountstring
Example: 10000
feestringFee charged (2 decimals).
Example: 4500.00
completionTimestringWhen the order reached its final state (GMT+7), empty while pending.
Example: 2026-10-14T10:35:12+07:00
orderStatusinteger1 paying, 2 success (final), 3 failed (final).
Example: 2
payCodestring
Example: 8808123456789012
productCodeinteger
Example: 11

Examples

{
  "code": 0,
  "message": "success",
  "data": {
    "merchantId": 100001,
    "mchOrderNo": "M202610140001",
    "orderNo": "LPIN2026101410300512AB34CD56EF",
    "amount": "10000",
    "fee": "4500.00",
    "completionTime": "2026-10-14T10:35:12+07:00",
    "orderStatus": 2,
    "payCode": "8808123456789012",
    "productCode": 11
  }
}
{
  "code": 10011304,
  "message": "Signature verification failed",
  "data": null
}

Code samples

URL_PATH=/pay-in/inquiry
BODY='{"nonceStr":"5f1c2a9e8b7d4c3a","orderNo":"LPIN2026101410300512AB34CD56EF"}'
AUTH="app_id=$APP_ID,nonce=$(openssl rand -hex 16),timestamp=$(date +%s)000"
SIGN=$(printf '%s\nPOST\n%s\n%s\n' "$AUTH" "$URL_PATH" "$BODY" \
  | openssl dgst -sha256 -sign merchant_private_key.pem | base64 | tr -d '\n')

curl -sS -X POST "https://test.lintaspay.xyz$URL_PATH" \
  -H 'Content-Type: application/json' \
  -H "Authorization: LINTASPAY-SHA256withRSA $AUTH,sign=$SIGN" \
  -H "lintaspay-request-id: $(openssl rand -hex 16)" \
  -d "$BODY"
// call() is defined on the Signing requests page
const res = await call('/pay-in/inquiry', {
  "nonceStr": "5f1c2a9e8b7d4c3a",
  "orderNo": "LPIN2026101410300512AB34CD56EF"
});
if (res.code !== 0) throw new Error(`${res.code} ${res.message}`);
console.log(res.data);
# call() is defined on the Signing requests page
res = call("/pay-in/inquiry", {
  "nonceStr": "5f1c2a9e8b7d4c3a",
  "orderNo": "LPIN2026101410300512AB34CD56EF"
})
if res["code"] != 0:
    raise RuntimeError(f"{res['code']} {res['message']}")
print(res["data"])
<?php
// api_call() is defined on the Signing requests page
$res = api_call('/pay-in/inquiry', json_decode('{"nonceStr":"5f1c2a9e8b7d4c3a","orderNo":"LPIN2026101410300512AB34CD56EF"}', true));
if ($res['code'] !== 0) {
    throw new RuntimeException($res['code'] . ' ' . $res['message']);
}
print_r($res['data']);
// ApiClient is defined on the Signing requests page
ApiClient client = new ApiClient();
String body = "{\"nonceStr\":\"5f1c2a9e8b7d4c3a\",\"orderNo\":\"LPIN2026101410300512AB34CD56EF\"}";
String res = client.call("/pay-in/inquiry", body);
System.out.println(res);