Skip to content
GAMPEONCreate
New project

Xsolla: payment page for an order

POST
/v1/wallet/orders/{id}/checkout
curl --request POST \
--url https://api.gampeon.com/v1/wallet/orders/example/checkout \
--header 'Authorization: Bearer <token>'

Only with provider: xsolla. Returns the link to the Xsolla Pay Station in test mode (no real money). Asking again returns the same link. The GAMPEONS are credited when Xsolla confirms the payment, then GET /v1/wallet/orders shows the order as paid.

Not available with access tokens.

Rate limit: 30 per hour per account.

id
required
string

Order ID (ord_…)

Payment page

Media typeapplication/json
object
order
required
object
id
required
string
packageId
required
string
coins
required

Amount in GAMPEONS

integer
priceCents
required

Euro cents

integer
currency
required
string
status
required
string
Allowed values: pending expired paid refunded charged_back
provider
required

sandbox: simulated payment with POST /v1/wallet/orders/:id/sandbox-pay. xsolla: Xsolla test payment through POST /v1/wallet/orders/:id/checkout.

string
Allowed values: sandbox xsolla
createdAt
required

Unix time in milliseconds

integer format: int64
expiresAt
required

Unix time in milliseconds

integer format: int64
paidAt
required
One of:

Unix time in milliseconds

integer format: int64
closedAt
required
One of:

Unix time in milliseconds

integer format: int64
withdrawableUntil
required
One of:

Set while the purchase can still be withdrawn

integer format: int64
checkout
required
object
provider
required
Allowed value: xsolla
url
required

Xsolla Pay Station (test mode)

string
sandbox
required

Example

{
"order": {
"status": "pending",
"provider": "sandbox"
},
"checkout": {
"provider": "xsolla",
"sandbox": true
}
}

Error codes: unauthorized

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: token_not_allowed, wallet_locked

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: not_found

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: order_not_pending, order_expired

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Limit: 30 per hour per account. Error codes: rate_limited

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: payment_unreachable, payment_refused

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Error codes: payments_disabled

Media typeapplication/json
object
error
required

Machine-readable error code, for example not_found or rate_limited.

string
message

Human-readable detail. Only present for some errors.

string

Example generated

{
"error": "example",
"message": "example"
}

Report a problem with this pageOther ways to give feedback