• Integrations · WayForPay API

Integration of WayForPay in checkout

The WayForPay integration brings together three things: a payment form at checkout, a signed server callback, and order statuses that your accounting works on. We connect the card, Apple Pay and Google Pay, if necessary - payment in parts using a separate payment method. Next, what breaks most often: rechecking the status when the call did not arrive, returning from the admin and the purchase event in analytics. WayForPay is on 7 of the 33 sites we measured on July 31, 2026, a gateway we deal with regularly.

See how it works
Price
after a free audit
Guarantee
30 days after project sign-off
WayForPay in our measured sample
7 sites out of 33, measurement 07/31/2026
after a free audit
Price
30
Guarantee

days after project sign-off

7
WayForPay in our measured sample

sites out of 33, measurement 07/31/2026

3-10
Connection period

working days

card, Apple Pay, Google Pay, payment in installments
Payment scenarios
1-2
Checkout for works

working days, free of charge

live payment and refund of the same amount
Acceptance
30
Guarantee

calendar days for completed work

Who it's for

Situations where this service delivers results

Scenario 1 of 4

Orders can be placed on the website, and money can be transferred to a card

The manager dictates the number in the messenger, the buyer sends a screenshot, someone checks it by hand. Online payment removes a person from the chain: the money goes to the company's account, the order itself changes the status, and the reconciliation is done by downloading from the office, and not by flipping through the correspondence.

We'll review your situation in a free audit
Cases

Tasks and results in numbers — all metrics measured by us

wholesale store of cosmetics for the beauty industry, catalog of almost 4,000 items

Task
Allow the wholesale buyer to pay by card online and leave alternative payment methods to those who work on the account.
Solution
Store on OpenCart: WayForPay and three alternative payment methods, two delivery services, full store layout, two language versions.
Result
Measured on 07/31/2026, two consecutive measurements with the same result: 3,947 products, 166 brands and 47 categories — 4,167 addresses in the canonical site map. Six JSON-LD types on master, first server response 576.8ms at 192.4KB HTML. A defect was found: the old site map lives in parallel — 7,782 entries for 2,755 unique addresses, that is, it is duplicated and incomplete at the same time.

wholesale building materials store

Task
Accept online payment from small wholesalers, leaving cashless settlement for companies, and see in analytics exactly what is being bought.
Solution
Store on OpenCart: WayForPay, cashless settlement and cash; delivery by Nova Poshta and self-pickup. Connected GTM, GA4 and Google Ads remarketing with product list view events.
Result
Measurement 07/31/2026: catalog 3,145 products - counted page by page through standard search for unique identifiers in the payload of the list view event, 31 pages of 100 items plus 45. First server response 547.3 ms, full download 685.6 ms at 212.1 KB HTML. Analytics and remarketing really work here — rather an exception in the measured sample. Defect found: /sitemap.xml returns 200 with empty body.

wholesale supplier of medical consumables

Task
Accept payment online in the B2B catalog, where orders are often agreed in messenger.
Solution
Store on OpenCart: WayForPay and payment by card, delivery by Nova Poshta, communication via Viber, Telegram and WhatsApp, Google Ads counter.
Result
Measurement 07/31/2026: site map with an index of five files — 1,602 products, 32 categories, 17 manufacturers, 4 info pages and the main page, totaling 1,656 addresses. The first server response was 364.7 ms at 401.6 KB of HTML. Defect found: no structured markup on the main page at all, one language version, no hreflang.
What's included

Complete list of work and what you get as a result

  • Card payment at checkout — Visa, Mastercard, Apple Pay and Google Pay: the buyer pays in two taps, and the card data remains with the provider
  • Paying in installments with a separate payment method - we enable it if your average check is worth it
  • Callback with signature verification and retry: the order changes status even if the first call is lost in the network
  • Requesting payment status by order number is insurance in case the call doesn't go through at all
  • Correspondence of payment statuses and order statuses agreed with your accountant: "paid" on the site means the same as in the reconciliation
  • Successful and unsuccessful payment pages with a saved cart - after the bank declines, the buyer repeats the payment, instead of collecting the order again
  • Full and partial returns from the admin account, with a note in the order itself
  • Purchase event with the amount and composition of the order in analytics and advertising offices
  • Check on a live payment with the return of the same amount - acceptance is not in the test mode
  • Written instructions to the manager: what to do with the pending payment and who makes the decision about the return
  • Guarantee of 30 calendar days for completed works
When this service isn't right

What's not included — so there are no surprises at delivery

  • Agreement with payment provider and verification
  • Acquisition fees and tariff conditions
  • Fiscalization of payments is a separate task
  • Accounting reconciliation and uploading to the accounting system
  • Legal texts about returns and offers
Process steps

Transparent stages with approval at every step

Total duration:3–10 days

  1. Calculation scenarios and accesses

    0.5–2 working days

    We record which payment methods remain in the checkout and which of them means "paid". We take away the seller's key and secret key - they are issued to you, not to the contractor.

  2. Gateway and form of payment

    0.5–2 working days

    Connection in test mode: card, Apple Pay, Google Pay, if necessary - payment in parts by a separate method. Here we see how the payment page behaves from a mobile phone.

  3. Callbacks and error scenarios

    1-3 working days

    Signature verification, response in provider format, retry, request payment status by order number, separate behavior for bank refusal and pending payment. The longest stage is the one for which everything is done.

  4. Statuses, Returns, Purchase Event

    0.5–2 working days

    Comparison of payment statuses with order statuses, full and partial refunds from admin, transfer of purchase with amount to GA4 and advertising cabinets.

  5. Live payment and transfer

    0.5–1 working day

    We pay for a real order for a small amount, check the status in the admin and office, return the money in the same way. Next, there are instructions for the manager and access.

Free check of the payment script

Before connecting the gateway, we go through your checkout as a buyer and see what is already there. Half of the findings relate not to payments, but to order statuses — and it is these that then create confusion in accounting.

What we measure

  • A real list of payment methods in checkoutCompare with what is written on the payment page. In the measured stores, we saw both a complete match and cases where the page promised more than the checkout offered.
  • Order statusesWhat statuses are there and which of them means "paid". Without a clear correspondence, payment and order live separate lives.
  • Callback handlingIs the gateway's response signature checked, what happens if the call doesn't go through the first time, and does your site respond the way the ISP expects it to.
  • Retry paymentCan the buyer pay for the same order a second time after the bank refuses. Very often - no, and the site gives an error without explanation.
  • Payment in installmentsDo you need this script? This is a separate method at the checkout with its own conditions, and not an option for a regular card.
  • What goes into analyticsWhether the purchase event is passed with the amount. In a measured hardware store, remarketing configured with product listing view events is the level to aim for.

What you get

  • Real checkout report with a list of available payment methods.
  • Scheme of correspondence of payment statuses and order statuses.
  • Evaluation of works with a deadline, with a division into mandatory and desirable.
  • A 20-30 minute conversation with you and your accountant.

Timeline: 1-2 working days

Why is it free

Because checking takes hours, and inconsistent order statuses then cost the accountant working days every month.

What's next

After the inspection, we give an estimate for a specific list of works and a deadline.

Short form: your contact and site URL

  • Contract, act and 30-day warranty

    Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.

  • Sole proprietor & bank transfer

    The contractor is a registered sole proprietor. Payment by invoice with closing documents.

  • Rights & access — yours

    Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.

  • Client portal instead of email chains

    During the project you get access to a portal: contracts, invoices, acts and project status in one place.

  • European clients

    Among our work — projects for Norway, Bulgaria, Moldova and Spain.

  • Verifiable numbers

    Every case in the portfolio comes with a link to a live site and a technical measurement.

  • Audit first, then pricing

    There is no price list on the site intentionally: the scope of the same work differs multiples between clients.

  • We say "no" when unsure

    If the task isn't ours or the deadline is unrealistic — we tell you upfront.

Did not find your case?

Describe how it works on your side — we will tell you whether “WayForPay integration” fits and what it means in your situation. No brief and no call: one question, one answer.

What affects the price

Why two seemingly identical tasks are priced differently

  • How many payment scenarios do we enable?One card is form, callback and status. Plus, paying in installments is already a second scenario with its own states and its own behavior upon return, not a tick in the settings.
  • Status of order statusesWhen the statuses are established and the accountant knows which payment means, the work goes on. When there are three statuses and all are called "in processing", first you have to build a scheme - this is the longest point of the estimate.
  • Checkout platform and statusOn a typical OpenCart or WooCommerce module becomes within a day. A self-written checkout is a server route that is written by hand: signature, protection against repeated processing of the same call, retries.
  • Return and reconciliationIt is necessary not only to connect the return, but also to decide who makes it and how it gets into the account. Without this agreement, the confusion returns in a month.
  • Analytics statusIf GTM and GA4 are already standing, the purchase event is an hour of work. If there are no counters at all, first we measure them: in our selection of sites there were also those where no counter was found.
Technologies & integrations

What we build on and what it connects to

Stack

  • WayForPay API — card, Apple Pay, Google Pay and payment in installments from one account. Limit: calculations in hryvnia.
  • HMAC-MD5 signature on request and response. The format is set by the provider; protection is based on the secrecy of the key, so it does not get into the client code.
  • The server address for the payment result. Limit: without a response in the provider format, the call is considered undelivered and repeated.
  • OpenCart 3 and 4 — the ready module is installed in a day. Limitation: The boxed version usually doesn't poll the status and doesn't know your status names.
  • WooCommerce — plugin plus edit hooks for your order statuses.
  • Next.js is the Node runtime API route. Border: the signature is not counted on the edge.
  • HTTPS and HSTS are a gateway requirement, not a wish.

Integrations

  • WayForPay
  • Visa/Mastercard
  • Apple Pay / Google Pay
  • payment in installments
  • non-cash settlement
  • GA4 is a purchase event
  • Google Ads - remarketing
  • Google Tag Manager
Do-it-yourself box module vs. scripting integration

How this option differs from the alternative

Callback signaturewe check on every call, we reject unsigned ones
The call did not go throughretry plus request payment status by order number
Order statusesmatched with your names and agreed with the accountant
Repeat payment of the same ordernew payment ID, the previous attempt remains in the history
Refundsfull and partial from the administration, with a note in the order
Purchase eventthe amount and composition of the order go to GA4 and the advertising office
What we need from you

We can't start without this — best to prepare in advance

  1. Merchant key and secret key from your payment provider account.
  2. Access to the site and admin with rights to install modules.
  3. A list of order statuses and a decision as to which one means payment.
  4. Legal texts on refunds - they must be on the site before launch.
  5. Test order for a small amount.
  6. Accountant or manager responsible for reconciliation of payments.

If something is missing — let us know, we'll help you gather it or do it as a separate task.

FAQ

Most frequently asked questions — with concrete answers

I already have a module - why modify something?

Often there is nothing, and we say so. There are three things to check: whether your site rejects a callback without the correct signature, whether it asks the gateway about the status when the call did not arrive, and whether "paid" means the same in the admin as in the provider's office. If all three are "yes" - nothing needs to be done, and it will be written in the report after the free check.

The buyer has paid, but the order remains unpaid - what is this?

Lost callback. The gateway sends the payment result to your server address and waits for its own JSON in response: the order number, the word accept, time and signature. There is no such response - the call is considered undelivered, the gateway repeats it, and if your module is silent all the time, the money remains debited and the order unpaid. The working scenario is different: the module itself asks for the payment status by order number before leaving it in a suspended state. A separate recommendation from practice: the status does not change on the page where the buyer returns after payment. He can close it, restart it or not reach it at all - the only reliable source of truth here is the server call.

The buyer wants to pay for the same order a second time - why doesn't it work?

Because the payment identifier must be unique. The first attempt has already taken your order number, and a second request with the same number is rejected by the gateway - the buyer sees an error and leaves. It is treated simply: for each new attempt, its own identifier with a suffix is ​​generated, and the connection with the order is kept by a separate field. Ten lines of code and the most frequent reason "the site does not allow payment" from those that we analyzed.

Should I enable payment in installments?

Look at the average check. For expensive items, the method removes the barrier of a lump sum: the buyer pays in several installments, you receive the money in full, the risk of non-payment is taken by the bank. It is hardly used on cheap goods, and the commission eats up the margin from each order. It does not work at all for purchases on account. And a fair boundary: Paying in installments doesn't increase the number of people who want your product — it helps those who already want it, but aren't ready to pay the full amount now.

Is it possible to issue a return from the admin?

Yes, full or partial. The technical part is simple, it is more difficult to agree on the procedure: who makes the decision, when and what the buyer sees. The confusion is usually organizational — returns are made either from the provider's office, or from the administration, and after a month the reconciliation does not come together. That's why we write a short instruction to the manager on the transfer and fix one path.

How to connect payments with analytics?

A purchase event with the amount and composition of the order, which is sent after payment confirmation, not on the "thank you" page. In the 3,145-product wholesale building materials store we measured, GTM, GA4, and Google Ads remarketing with product list view events are working at a level to aspire to. Fair margin: The counter itself doesn't improve anything, and the blockers and consent mode make GA4 a source of trend rather than accounting truth. It is necessary to bring it together with the cash register deliberately.

How long does it take to connect?

3-10 working days. Scenarios and Access - half a day to two, gateway and payment form the same, callback and error scenarios 1-3 days, statuses with returns and purchase event - up to two days, live payment and transfer - up to a day. The lower limit means a ready checkout, where the statuses are already established. Upper — when the status scheme has to be built from scratch or several calculation methods live in the checkout at the same time.

Is it safe to keep keys on the site?

The secret key lives only on the server and does not get into the client code - otherwise, anyone can generate the signature. The card data does not come to your site at all: it is accepted by the provider, so the requirements for storing card data do not fall on you. What is true in your zone: HTTPS without exceptions, a separate key for tests and a key change if the contractor with whom you broke up had access to the admin.

Send the website address and the list of payment methods you need.

In response, there is a report from a real checkout, a scheme of correspondence between payment statuses and order statuses, and an assessment of work with a deadline.

From measured casesMeasured on 07/31/2026, two consecutive measurements with the same result: 3,947 products, 166 brands and 47 categories

View cases
  • Reply within 2 hours
  • No commitment
  • We work under a contract

There is no price list on the site on purpose: the same work differs several times over between two clients, and a “from” figure explains nothing in that case. First a free audit — we count your pages, duplicates and speed — then we name the sum and the deadline and fix both in the contract.