Step 3: Check Payment Status
http
POST /p/api/v1.0/steam/pay/statusReturns the outcome of a transactionId. This endpoint is read-only: it never charges the balance and never starts a payment.
The response uses the same JSON fields as POST /p/api/v1.0/steam/pay. Only transactions belonging to the API key owner are visible. Any other transactionId returns the same error as an expired id.
Request Body
json
{
"transactionId": "d34cb700-fcf9-4cab-89b1-7a6b552a0df5"
}Fields:
transactionId(string, required): Value returned by the check step. Must be 10 to 100 characters.
Example Request
bash
curl 'https://core.steaminventoryhelper.com/p/api/v1.0/steam/pay/status' \
-H 'content-type: application/json' \
-H 'api-key: <USER_API_KEY>' \
--data-raw '{"transactionId":"d34cb700-fcf9-4cab-89b1-7a6b552a0df5"}'Success Response
json
{
"status": "success",
"message": "Payment completed successfully",
"paymentAmount": 50,
"cashback": 0.003
}Response fields (same as POST /p/api/v1.0/steam/pay):
status: Payment state. See the table below.message: Human-readable result.paymentAmount: Paid refill amount in RUB.0when the amount is not known yet.cashback: Cashback credited to SIH balance in USD.0when no cashback was applied or the payment did not complete.
Status Values
status | Meaning | Balance charged |
|---|---|---|
created | The check step succeeded, no payment was started yet. Lives for 1 hour after check. | No |
success | The balance was charged and the payment provider accepted the refill. | Yes |
failed | The payment provider rejected the refill. Everything was rolled back. | No |
unknown | The call to the payment provider errored or timed out. The balance was rolled back, but the provider may still have received the payment. message may describe the specific undetermined case; status stays unknown. A later pay/status poll may become failed if the provider reports FAILED. | No |
Error Responses
Invalid transactionId format:
json
{
"success": false,
"error": "transactionId has invalid length"
}Unknown, expired, or not owned by this API key:
json
{
"success": false,
"error": "Invalid or expired transactionId"
}Polling
- The endpoint allows 1 request per 2 seconds per user, which is looser than
checkandpay. - Poll after
payuntilstatusissuccessorfailed, then stop. - Treat
unknownas requiring attention rather than as a failure: nothing was charged, but the refill may still have been delivered. Readmessagefor the specific case, and contact support before retrying. Anunknownpayment may later becomefailedif the provider reportsFAILED. - A
transactionIdthat stayscreatedfor an hour has expired. Start again fromcheck.
Status Codes
200: Request processed. Some provider validation failures may still returnsuccess: false.400: Invalid input, invalid transaction, not enough balance, or payment provider failure.401: Missing or invalid API key, or the owning user account is locked.403: API key disabled by the user or disallowed by an administrator, ortransactionIdbelongs to another user.404: User not found while locking balance (rare).429: Rate limit exceeded. SeeretryAfter(1forcheck/pay,2forpay/status).500: Internal service error (Internal server error) or currency rate error (Failed to get currency rate).503: Temporary cache/transaction validation failure.
Integration Notes
- Always call
checkimmediately beforepay. - Do not reuse a
transactionIdfor a different Steam account, amount, user, or API key. - Retry
paywith the sametransactionIdonly when the previous request timed out or the client did not receive a response. - Prefer
POST /p/api/v1.0/steam/pay/statusover retryingpaywhen the outcome of a payment is unclear. - The SIH balance is charged only after the transaction ownership, rates, amount, and balance checks pass.