# create static qr payment This API is intended for merchants initiating staticQR payments for specific POS(point of sale). If active payment already exists for provided combination of profileId and posId, then existing payment will be invalidated and new one created. Onboarded merchants should have api keys for each profile, the api key will carry the profileId information required to find the correct creditor in the merchant-service The token/api-key necessary to call this endpoint must contain: * : "" or "" * : "", * : Endpoint: POST /v3/payments/pos Version: 3.6.3 Security: api_key_payment_profile, JWS-Request-Signature-Payment ## Request fields (application/json): - `reference` (string) Partner payment reference, used to reference the Bancontact Payconiq Company payment in the partner's system - `bulkId` (string) Field used to reference a bulk batch, so the merchant can inform how the payments should be bulked. If it's not set here it will default to the one configured in the profile. - `amount` (integer, required) Amount in cents requested - `currency` (string) Currency code. Only EUR is supported [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) Enum: "EUR" - `description` (string) Description of the payment that will be shown to the debtor, also used in the bank statement for reconciliation purposes. The characters used must comply with the [SEPA Requirements for an Extended Character Set (UNICODE Subset) - Best Practices | European Payments Council](https://www.europeanpaymentscouncil.eu/document-library/guidance-documents/sepa-requirements-extended-character-set-unicode-subset-best). - `posId` (string, required) Merchant's point of sale identifier - `shopId` (string) Id of the shop, where payment is created - `shopName` (string) Name of the shop, where payment is created. This name will be shown to the user during payment, but will be truncated in the remittance info, if longer than 23 characters. - `identifyCallbackUrl` (string) Callback url to which merchants will be notified about the payment identification. If it's not set here it will default to the one configured in the profile - `callbackUrl` (string) Callback url to which the merchant will be notified about the payment payout/cancel. If it's not set here it will default to the one set in the profile - `voucherEligibility` (array) List of Value Added Services (vouchers) eligible amounts within the payment - `voucherEligibility.voucherSchemes` (array, required) List of voucher schemes could be used to pay the amount - `voucherEligibility.amount` (integer, required) Amount in cents eligible for payment with voucher. EUR 10.13 will be 1013 ## Response 201 fields (application/json): - `paymentId` (string, required) Payment ID - `status` (string, required) the status of the payment created Enum: "PENDING" - `createdAt` (string, required) the creation time of the payment - `expiresAt` (string, required) the time from which the payment will be expired - `description` (string) Description of the payment that will be shown to the debtor, also used in the bank statement for reconciliation purposes. The characters used must comply with the [SEPA Requirements for an Extended Character Set (UNICODE Subset) - Best Practices | European Payments Council](https://www.europeanpaymentscouncil.eu/document-library/guidance-documents/sepa-requirements-extended-character-set-unicode-subset-best). Only first 35 characters will be used for the remittance info - `reference` (string) Merchant payment reference, used to reference the Bancontact Payconiq Company payment in the merchant's system. The characters used must comply with the [SEPA Requirements for an Extended Character Set (UNICODE Subset) - Best Practices | European Payments Council](https://www.europeanpaymentscouncil.eu/document-library/guidance-documents/sepa-requirements-extended-character-set-unicode-subset-best). - `amount` (integer, required) Amount in cents requested - `currency` (string, required) Currency code. Only EUR is supported [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) Enum: "EUR" - `creditor` (object, required) Creditor account set to receive the payment - `creditor.profileId` (string) The configuration ID of the Merchant - `creditor.merchantId` (string) the Id of the merchant - `creditor.name` (string) Merchant's company name that will be shown to the debtor - `creditor.iban` (string) Creditor's Bank Account Iban to where the money will be sent to for this current payment - `creditor.identifyCallbackUrl` (string) callbackUrl to which the merchant will be notified about the payment identification - `creditor.callbackUrl` (string) callbackUrl to which the merchant will be notified about the payment payout - `_links` (object, required) Provides information to navigate to our REST interfaces dynamically, by including hypermedia links to them. Note that for some links inclusion depends on the status of the payment (e.g. cancel link will be available on PENDING and refund on SUCCEEDED) - `_links.self` (object, required) - `_links.self.href` (string, required) - `_links.deeplink` (object, required) - `_links.qrcode` (object, required) - `_links.cancel` (object) - `_links.refund` (object) - `_links.checkout` (object) ## Response 400 fields (application/json): - `code` (string, required) - `message` (string, required) - `traceId` (string, required) id that is assigned to a single request, job, or action - `spanId` (string, required) id of the work unit where the error occured ## Response 401 fields (application/json): - `code` (string, required) - `message` (string, required) - `traceId` (string, required) id that is assigned to a single request, job, or action - `spanId` (string, required) id of the work unit where the error occured ## Response 403 fields (application/json): - `code` (string, required) - `message` (string, required) - `traceId` (string, required) id that is assigned to a single request, job, or action - `spanId` (string, required) id of the work unit where the error occured ## Response 404 fields (application/json): - `code` (string, required) - `message` (string, required) - `traceId` (string, required) id that is assigned to a single request, job, or action - `spanId` (string, required) id of the work unit where the error occured ## Response 422 fields (application/json): - `code` (string, required) - `message` (string, required) - `traceId` (string, required) id that is assigned to a single request, job, or action - `spanId` (string, required) id of the work unit where the error occured ## Response 500 fields (application/json): - `code` (string, required) - `message` (string, required) - `traceId` (string, required) id that is assigned to a single request, job, or action - `spanId` (string, required) id of the work unit where the error occured ## Response 503 fields (application/json): - `code` (string, required) - `message` (string, required) - `traceId` (string, required) id that is assigned to a single request, job, or action - `spanId` (string, required) id of the work unit where the error occured