Payment by link or QR code¶
General Information¶
The partner can use the following options for receiving payments without using the QIWI API:
- Creating a link
- through the personal account or Telegram Bot,
- manually.
- Creating a payment QR code.
Scenario¶
The created link or QR code needs to be provided to the client. Upon clicking the link, QIWI creates an invoice for payment, and the client sees the payment form.
Please Note
When opening the form in a web view on Android smartphones, settings.setDomStorageEnabled(true)
should be enabled.
Upon entering card details and payment confirmation on the QIWI form, QIWI authenticates the client using 3D-Secure. Following successful authentication, the client’s funds are held but not debited, awaiting confirmation. Upon successful funds hold, the QIWI form redirects the client to the «URL for Successful Payment» if this URL was included in the link.
The partner needs to confirm the payment on their personal account.
By default, QIWI expects payment confirmation within 72 hours from the moment of its successful authorization - payment of the bill. After this period, the payment is automatically confirmed. To change the waiting period or configure automatic payment cancellation, please contact customer support. The waiting period cannot exceed 5 days.
Creating a payment link¶
Creating a link through the Merchant Portal
The link creation instructions are available in the «Internet Acquiring» → «Merchant Portal» → «Invoice Management» section.
Manual link creation
Provide values for the following parameters in the URL https://payment.qiwi.com/create?publicKey={key}&{parameter}={value}
:
Parameter | Description | Type |
---|---|---|
publicKey | Public key for partner identification, unique for each siteId . Issued in the personal account in the «Settings» section |
String |
billId | Unique invoice identifier in the partner’s system. Generated by the partner as a unique sequence of letters, numbers, and symbols _ , - . If not specified, a new invoice is created each time the link is opened |
URL-encoded string, String(200) |
amount | Purchase amount in rubles, rounded down to 2 decimal places. If not specified, the client enters the amount on the form | Number(6.2) |
currency | Purchase currency code. Possible values: RUB , EUR , USD . Default: RUB |
String(3) |
phone | Client’s phone number in international format | String |
Client’s email | String | |
comment | Payment comment | String(255) |
successUrl | URL for Successful Payment | URL-encoded string |
paymentMethod | Payment method. Possible values: CARD , SBP . The logic of displaying payment methods on the QIWI form depends on specific conditions. The conditions are similar to those described in the table of the following section: «Internet Acquiring» → «QIWI Form Payment» → «QIWI Form Payment using the API» → «Payment Methods». The phrase «When performing a single-step or two-step scenario in the invoice creation request, the billPaymentMethodsType parameter is missing/passed» should be interpreted as «The paymentMethod parameter is missing/passed in the URL» |
String |
extras[cf1] | An additional field with arbitrary information to complete invoice data | URL-encoded string |
extras[cf2] | An additional field with arbitrary information to complete invoice data | URL-encoded string |
extras[cf3] | An additional field with arbitrary information to complete invoice data | URL-encoded string |
extras[cf4] | An additional field with arbitrary information to complete invoice data | URL-encoded string |
extras[cf5] | An additional field with arbitrary information to complete invoice data | URL-encoded string |
extras[themeCode] | An additional field with the payment form style code | URL-encoded string |
extras[contract_id] | Extra field with client’s contract ID for MFO data transfer | URL-encoded string |
extras[customer_last_name] | Extra field with cient’s last name for MFO data transfer | URL-encoded string |
extras[customer_first_name] | Extra field with client’s first name for MFO data transfer | URL-encoded string |
extras[customer_middle_name] | Extra field with client’s surname for MFO data transfer | URL-encoded string |
readonly | List of additional fields that should be unmodifiable on the payment form | String, field name separators , . Example: cf1 , cf3 |
Sample payment links are provided below.
When opening the payment form in WebView on Android smartphones, settings.setDomStorageEnabled(true)
must be enabled.
Creating a Payment QR code¶
The QR code creation instructions are available in the «Internet Acquiring» → «Merchant Portal» → «Invoice Management» section.