Skip to content

Step 2: Pay From SIH Balance

http
POST /p/api/v1.0/steam/pay

Charges the user's SIH balance and sends the refill payment to Steam through the payment provider.

The request must use a transactionId returned by POST /p/api/v1.0/steam/check for the same API key owner.

Request Body

json
{
  "steamUsername": "igb53",
  "amount": 50,
  "currency": "RUB",
  "transactionId": "d34cb700-fcf9-4cab-89b1-7a6b552a0df5"
}

Fields:

  • steamUsername (string, required): Same Steam account name used in the check step.
  • amount (number, required): Refill amount in RUB.
  • currency (string, required): Must be RUB.
  • transactionId (string, required): Value returned by the check step. Must be 10 to 100 characters and not expired.
  • extended (boolean, optional): Accepted by schema but not used by the current payment logic.

Amount limits:

  • minimum: 50 RUB;
  • maximum: 9433 RUB.

The balance charge includes the refill amount converted to USD plus a 6% commission. The endpoint also applies cashback: default 0.5% of the converted refill amount, or the user's active Steam refill promo code bonus if present.

Example Request

bash
curl 'https://core.steaminventoryhelper.com/p/api/v1.0/steam/pay' \
  -H 'content-type: application/json' \
  -H 'api-key: <USER_API_KEY>' \
  --data-raw '{"steamUsername":"igb53","amount":50,"currency":"RUB","transactionId":"d34cb700-fcf9-4cab-89b1-7a6b552a0df5"}'

Success Response

json
{
  "status": "success",
  "message": "Payment completed successfully",
  "paymentAmount": 50,
  "cashback": 0.003
}

Response fields:

  • status: success when payment is completed.
  • message: Human-readable result.
  • paymentAmount: Paid refill amount in RUB.
  • cashback: Cashback credited to SIH balance in USD.

Idempotency

A successful transactionId is marked as used for 24 hours.

If the same transactionId is submitted again, the API attempts to return the existing successful payment instead of charging the balance again.

Example idempotent response:

json
{
  "status": "success",
  "message": "Payment already completed",
  "paymentAmount": 0.047,
  "commission": 0.003,
  "cashback": 0
}

Error Responses

Invalid or expired transactionId:

json
{
  "success": false,
  "error": "Invalid or expired transactionId"
}

transactionId belongs to another user:

json
{
  "success": false,
  "error": "TransactionId does not belong to this user"
}

Invalid amount:

json
{
  "success": false,
  "error": "Minimum amount is 50 RUB"
}

Unsupported currency:

json
{
  "success": false,
  "error": "Only RUB currency is supported"
}

Not enough SIH balance:

json
{
  "success": false,
  "error": "Not enough balance",
  "balance": 1.25,
  "required": 2.4
}

Temporary cache or transaction validation problem:

json
{
  "success": false,
  "error": "Service temporarily unavailable, please try again"
}

Payment provider failure:

json
{
  "success": false,
  "error": "Payment failed"
}