Skip to main content

Working with PAY payment page

General info about PAY

PAY - page with the interface for receiving payments via Internet. This resource allows to interact with the client regardless of the payment method. It provides a number of methods and currencies that are convenient for the client and allows to specify additional information about the payer if necessary (for example, phone number if payment is processed through mobile commerce).

Currency selection and additional info for payment.

If the currency of the invoice does not match the currency of the payway, then PAY will convert the currency automatically. Thus, the shop will receive invoice funds in the invoice currency and the client will pay in the currency that is convenient for him at the moment.

Billing for payment via PAY

For redirecting the payer to the payment page, you must form and confirm an HTML-form.

URL: https://pay.qostiq.com/en/pay

Method: POST, GET

Mandatory parameters: amount, currency, shop_id, shop_order_id, sign

Example of signature formation for request:

keys_sorted = ['amount', 'currency', 'shop_id', 'shop_order_id']

String for sha256 hash generation looks like:

10.00:980:1:101SecretKey01

HEX-representation of hash:

sign = 7354edb970dae3b496572252d7d7578fc8e0f1061b2e69a9eda1b39f3cdadc69

Example of HTML-form:

<form name="Pay" method="post" action="https://pay.qostiq.com/en/pay" accept-charset="UTF-8">
<input type="hidden" name="amount" value="10.00" />
<input type="hidden" name="currency" value="980" />
<input type="hidden" name="shop_id" value="1" />
<input type="hidden" name="sign" value="7354edb970dae3b496572252d7d7578fc8e0f1061b2e69a9eda1b39f3cdadc69" />
<input type="hidden" name="shop_order_id" value="101" />
<input type="submit"/>
<input type="hidden" name="description" value="Test invoice" />
</form>

Where,

ParameterDescriptionFormatExample
shop_idshop ID in Qostiq systemInteger5
amountbill amountNumber (no more than 2 characters after the dot)1, 1.0, 1.00 or "1.00"
currencybill currencyInteger840 — US Dollar, 980 — UA Hryvnia, 978 — Euro
descriptionbill descriptionString"test payment"
shop_order_idbill ID on the shop's side. Can be checked for uniqueness depending on shop settingsString"h8fj38dkh-hf8k-4f8d-9c8c-jd8dh38dksn92"
signsignature, see Signature formation rules (sign)String"a7f5bcbb774cea9d9886cbb3ce2f8731359e356a7d759437b4e9e31da1152109"

Also, payment form can include additional parameters that do not participate in signature formation, but affect the appearance of the payment page.

ParameterDescriptionFormatExample
paywaypayway, through which the bill must be paidString"card_uah" (listed in the personal profile)
payer_accountemail or ID of the payer's wallet in Qostiq system, if passed in the request, then the bill can be paid only by this account. Only for payments via Qostiq wallet.String"support@qostiq.com" or "201494711279"
failed_urlURL, to which the payer will be redirected after unsuccessful paymentString"https://qostiq.com/failed"
success_urlURL, to which the payer will be redirected after successful paymentString"https://qostiq.com/success"

Important! Success URL, Fail URL listed in the shop settings have a higher priority than the ones in the request, so they have to be deleted from the shop settings.

General information about the PAY page (Crypto)

PAY is a page with an interface for accepting cryptocurrency payments, which provides a blockchain client with a convenient choice of payment and displays the address to which the client can make a payment.

Invoice creation through PAY (Crypto)

To redirect the payer to the payment page, it is necessary to generate and submit an HTML form.

URL (en): https://pay.qostiq.com/en/crypto/pay

URL (pl): https://pay.qostiq.com/pl/crypto/pay

URL (uk): https://pay.qostiq.com/uk/crypto/pay

URL (ru): https://pay.qostiq.com/ru/crypto/pay

Method: POST, GET

Mandatory parameters: client, shop_id

Example of signature formation for request:

keys_sorted = ['client', 'shop_id']

String for sha256 hash generation looks like:

testclient:6SecretKey01

HEX representation of the hash:

sign = 0f5816c558d1150f76cf77694a80b50234b00fd26137dd1a3fbee168bfd9f7dc

Example URL request [GET]:

https://pay.qostiq.com/en/crypto/pay?client=testclient&paymethod_id=1&shop_id=6&sign=0f5816c558d1150f76cf77694a80b50234b00fd26137dd1a3fbee168bfd9f7dc&email=client@example.com&return_url=https://shop.com/crytpo_return_url

HTML-form Example [POST]:

<form>
<input name="Pay" method="POST" action="https://pay.qostiq.com/en/crypto/pay" accept-charset="UTF-8" />
<input type="hidden" name="client" value="testclient" />
<input type="hidden" name="paymethod_id" value="1" />
<input type="hidden" name="shop_id" value="6" />
<input type="hidden" name="email" value="client@example.com" />
<input type="hidden" name="return_url" value="https://shop.com/crypto_return_url" />
<input type="hidden" name="sign" value="0f5816c558d1150f76cf77694a80b50234b00fd26137dd1a3fbee168bfd9f7dc" />
<input type="submit" />
</form>

Where,

ParameterDescriptionFormatRequiredExample
clientClient for which the address is generatedStringYes"testclient"
paymethod_idPayment method (currency of payment and crediting to the shop; when using this parameter, the client independently selects the payment blockchain)String*Optional1
paywayPayment direction (includes currency and payment blockchain)String*Optional"usdt_bep20"
shop_idyour shop identifier in the Qostiq systemIntegerYes6
signsignature, see Signature formation rules for crypto operations (sign)StringYes"0f5816c558d1150f76cf77694a80b50234b00fd26137dd1a3fbee168bfd9f7dc"
emailCustomer emailStringNo"client@example.com"
return_urlURL to which the customer can return from the payment page by clicking on the "Return to Shop" buttonStringNo"https://shop.com/crypto_return_url"

*One of the parameters paymethod_id or payway is required for the request. If the paymethod_id parameter is used, the client will be able to select the payment blockchain (network); when using payway parameter the customer will not be able to select a network, so the customer will be directed to a payment address page.

Available paymethod_id values:

paymethod_id valueCurrency
1USDT
2BNB
3ETH
4BTC
5TRX
6BUSD
7LTC
8MATIC