🎉 Celebrate with 10% OFF on All Products! Use Code: GFEX10 Or Buy Any 2+ Items for 30% OFF with Code: GFEX30!

Gravity Forms Przelewy24 Premium Add-on Setup Guide

Updated 10 min read Gravity Forms Integrations A–Z
On this page
  1. Installation
  2. Currencies and amounts
  3. Settings
  4. Notifications from Przelewy24
  5. The feed
  6. What the customer sees
  7. Payment statuses
  8. The entry screen
  9. Refunds
  10. Testing in the sandbox
  11. Going live
  12. For developers
  13. How it differs
  14. Troubleshooting
  15. Uninstall

The Gravity Forms Przelewy24 Premium Add-on connects Gravity Forms to your own Przelewy24 account. When a form with a Przelewy24 feed is submitted, the add-on registers a Przelewy24 transaction for the exact total Gravity Forms calculated and sends the customer to the Przelewy24 payment page, where they choose how to pay: a fast bank transfer (pay-by-link), BLIK, a card, or any other method active on your account. Payment details are entered at Przelewy24, never on your website.

When Przelewy24 reports the payment, the add-on checks the signature with your CRC key, reads the transaction back from Przelewy24, verifies it (the confirmation Przelewy24 needs before it settles the money) and only then marks the entry Paid. This guide covers installation, every setting, the feed, what the customer sees, the payment statuses, refunds, testing in the sandbox and going live.

Before you start

You need Gravity Forms 2.9 or newer, a Przelewy24 merchant account (the sandbox account is switched on from the Przelewy24 panel under My account), and your site reachable from the internet over https for live payments, so Przelewy24 can send its notifications.

Installation

  1. Download the add-on zip from your GravityExtra account and upload it in Plugins → Add New → Upload Plugin, then activate it.
  2. Open Forms → Settings → Przelewy24 and activate your licence key. The Przelewy24 settings appear once the licence is active.
  3. Set the Gravity Forms currency (Forms → Settings) to Polish Zloty, or to EUR, GBP or CZK if Przelewy24 has enabled that currency on your account.

Updates are delivered from gravityextra.com like every GravityExtra add-on. The add-on keeps working if you rename its folder.

Currencies and amounts

Polish złoty, euro, pound sterling and Czech koruna are all built into Gravity Forms with two decimals, so prices such as zł 1.250,00, 1.250,00 €, £1,250.00 or 1 250,00 Kč are read correctly both in the browser and on the server. The add-on sends the total to Przelewy24 in the smallest unit, as Przelewy24 asks: zł 149,90 becomes 14990 grosze. Totals with more than two decimals, below 1.00 or in a currency that is not enabled are refused before anything is sent to Przelewy24.

When you type a price in a product field, use the format Gravity Forms shows (for example zł 1.250,00) or a plain number without a thousands separator (1250). A bare 1.250 is read by Gravity Forms as 1.25 in every currency that uses a comma as the decimal mark.

Settings

Przelewy24 settings: Sandbox or Live mode, the merchant ID, shop ID and masked CRC and API keys of each mode, the currencies enabled on the account, the payment page language, the currency line, the connection line and the notification address
Settings: paste the merchant ID, CRC key and API key from My data in the Przelewy24 panel; the notification address is sent with every transaction.
Setting What it does
Mode Sandbox (the default) registers transactions in the Przelewy24 sandbox (sandbox.przelewy24.pl) with your sandbox account, so no money moves. Live uses secure.przelewy24.pl and your live account. Each entry remembers the mode it was paid in.
Sandbox / Live merchant ID The number of your Przelewy24 account, shown in the panel under My data.
Sandbox / Live shop ID The shop ID (posId). Leave it empty when it is the same as the merchant ID, which is the usual case.
Sandbox / Live CRC key The CRC key from My data. It signs every transaction and checks every notification from Przelewy24. Stored encrypted, shown masked.
Sandbox / Live API key (report key) The API key, also called the report key, from My data. It logs your site in to the Przelewy24 API. Checked with Przelewy24 when you save, stored encrypted, shown masked.
Currencies Payments are always possible in Polish złoty (PLN). Tick EUR, GBP or CZK only after Przelewy24 has enabled that currency on your account.
Payment page language Automatic (the site language, English when Przelewy24 does not offer it) or a fixed language such as Polish, English, German or Czech.
Currency A check line: the Gravity Forms currency must be one of the currencies enabled above.
Connection Shows whether Przelewy24 accepts the IDs and API key of the current mode, with the keys masked (first and last four characters).
Notifications The notification address the add-on sends with every transaction, and when the last notification with a valid signature arrived.

When you save, the add-on asks Przelewy24 to confirm the shop ID and API key of each mode (a check that changes nothing in your account). Keys Przelewy24 refuses are not saved, and the error tells you which mode to check. The CRC key cannot be checked without a transaction: if it is wrong, Przelewy24 refuses the first payment, the entry is marked Failed and the note names the CRC key.

Notifications from Przelewy24

Every transaction carries the address Przelewy24 calls when the payment is made (https://your-site/?callback=gfprzelewy24), so there is nothing to set up in the Przelewy24 panel. For each notification the add-on:

  1. limits how many notifications one address can send per minute;
  2. finds the entry by the session reference it created for that payment, and checks the signature with the CRC key of the mode the payment was made in;
  3. checks that the merchant, the shop, the amount and the currency are the entry’s own;
  4. reads the transaction back from Przelewy24 and verifies it, then marks the entry Paid and sends the held notifications.

A notification with a wrong signature is refused. If verification fails (for example Przelewy24 is briefly unreachable), the add-on answers with an error, so Przelewy24 sends the notification again a few minutes later. A repeated notification never completes a payment twice.

The feed

The Przelewy24 feed: products and services with the form total, the customer email, name and phone mapping, the transaction description with merge tags and notifications after payment
The feed: map the customer email (required), name and phone, and write the transaction description.

Open the form, go to Settings → Przelewy24 and add a feed:

  • Transaction type: Products and Services, or Donations. The payment amount is usually the form total.
  • Customer information: map the email field (required: Przelewy24 sends its payment confirmation there, up to 50 characters). First name, last name, address, city, postal code, country and phone are optional and help the customer on the Przelewy24 page.
  • Description: shown with the transaction at Przelewy24. Merge tags work; the default is {form_title} #{entry_id}.
  • Notifications: tick it to send the form notifications only after the customer has paid. Use the Payment Completed event for receipts.
  • Conditional logic: as with any Gravity Forms payment feed.

What the customer sees

A weaving workshop booking form with quantities, the customer name, email and phone, and the total in Polish złoty, with the Continue to payment button
The form: Gravity Forms works out the total in złoty; the customer pays it on the Przelewy24 page.

The customer fills in the form and clicks the submit button. The add-on registers the transaction and sends them to the Przelewy24 payment page in the language you chose, where they pick a payment method and pay. Przelewy24 then sends them back to the form page. The add-on reads the payment from Przelewy24 and shows your confirmation as soon as the payment is verified. While a bank transfer is still on its way, the page shows “Confirming your payment” and checks again by itself every few seconds. If the customer cancelled, the page says no payment was received and that they have not been charged, with a link back to the form.

Payment statuses

Entry status When
Processing The customer was sent to Przelewy24 and the payment is not confirmed yet. Bank transfers can take a few minutes.
Paid Przelewy24 reported the payment, the add-on verified it with Przelewy24 (amount, currency and session match the entry), and the transaction number is stored as the transaction ID.
Cancelled No payment arrived within 48 hours. If Przelewy24 reports the payment later, it is still verified and the entry becomes Paid.
Failed The payment could not be started (for example a key Przelewy24 refused or a currency not enabled on the account). The customer was not sent to Przelewy24 and was not charged.
Refunded Refunds confirmed by Przelewy24 add up to the whole amount. Partial refunds are recorded as notes and transactions while the entry stays Paid.

The entry screen

An entry paid through Przelewy24: the Przelewy24 box with the status, amount, transaction number, session, payment method and transfer title, the Refresh status button and the refund form, and the entry notes
The entry: status, transaction number and transfer title, verified with Przelewy24, with refunds one click away.

Every entry paid through Przelewy24 has a Przelewy24 box with the status, the amount, the Przelewy24 transaction number, the session reference, the payment method number, the transfer title and any refunds. Sandbox payments carry a “Sandbox — test payment” badge. Refresh status reads the transaction and its refunds from Przelewy24 again (and verifies a payment that is still waiting for it). Each step is also written to the entry notes.

Refunds

On a paid entry, type the amount in the refund field and click Refund with Przelewy24. Amounts can be typed as 149,90, 1.250,00 or 1250.00. The add-on first reads the transaction from Przelewy24 to make sure it is paid and verified with the entry amount, then sends the refund. Przelewy24 makes refunds in the background, so the entry shows “Refund requested” until Przelewy24 confirms it with a signed refund notification or the status check sees it. The refund is then recorded once. Several partial refunds are possible up to the paid amount; when they add up to the whole amount the entry becomes Refunded.

  • A refund form can be used once, so a double click or a resubmitted page cannot refund twice.
  • If Przelewy24 does not answer, the request stays reserved (“do not refund again”) and the status check records it if Przelewy24 made it, or frees it after an hour with a note.
  • If Przelewy24 rejects a refund, the reservation is released with a note.
  • Refunds made in the Przelewy24 panel are recorded when you click Refresh status.
  • Staff need the Gravity Forms “edit entries” permission; administrators always can.

Testing in the sandbox

  1. In the Przelewy24 panel, open My account → SANDBOX account to switch the sandbox on, then copy the sandbox merchant ID, CRC key and API key from the sandbox panel.
  2. Keep the mode on Sandbox, paste the three values and save. The connection line should say “Connected to Przelewy24 (Sandbox)”.
  3. Add a feed, open the form on a page that Przelewy24 can reach over the internet, and pay a small amount on the sandbox payment page.
  4. Check that the entry becomes Paid, the transaction number appears in the Przelewy24 box, and the payment appears in the sandbox panel.
  5. Make a partial refund and click Refresh status a little later to see it confirmed.

Going live

  • Paste the live merchant ID, CRC key and API key from the live panel and switch the mode to Live.
  • Make sure the site uses https and is reachable from the internet, so Przelewy24 can send its notifications.
  • Make one small real payment and refund it to confirm everything end to end.
  • Entries started in the sandbox keep using the sandbox keys, so switching modes never mixes the two.

For developers

The filter gravityextra_przelewy24_register_fields can change the description, the customer details, the language, the payment time limit (timeLimit, minutes, 0-99), the channel bitmask (channel), a payment method number (method) and the transfer title (transferLabel). The amount, currency, session, merchant and shop, the return and notification addresses and the signature are always set by the add-on. Other filters: gravityextra_przelewy24_max_cents (lower the largest payment), gravityextra_przelewy24_rate_limit, gravityextra_przelewy24_payments_per_hour and gravityextra_przelewy24_notify_base (the base of the notification address, for sites behind a proxy).

// Give customers of one form (ID 7) 15 minutes to pay and show only BLIK and bank transfers
// (channel bitmask 8192 + 2). The amount, currency, session and addresses cannot be changed here.
add_filter( 'gravityextra_przelewy24_register_fields', function ( $fields, $feed, $entry, $form ) {
    if ( 7 !== (int) rgar( $form, 'id' ) ) {
        return $fields;
    }
    $fields['timeLimit']   = 15;
    $fields['channel']     = 8192 + 2;
    $fields['description'] = 'Warsztaty ' . rgar( $entry, '8' ) . ' / zgłoszenie ' . rgar( $entry, 'id' );
    return $fields;
}, 10, 4 );

How it differs

  • It connects to your own Przelewy24 merchant account directly with the Przelewy24 REST API, so the money is settled by Przelewy24 to your account under your own Przelewy24 agreement, and the payment page shows every method you have switched on there.
  • It runs the verification step Przelewy24 asks for on every payment, and only a successful verification marks the entry Paid. Without it Przelewy24 does not settle the money.
  • It never trusts the return address or the notification on its own: the notification signature is checked with your CRC key, the transaction is read back from Przelewy24, and the session, amount and currency must match the entry.
  • Refunds, including several partial refunds, are made from the Gravity Forms entry and recorded only when Przelewy24 confirms them.

Troubleshooting

What you see What to check
“Przelewy24 did not accept this shop ID and API key” on save The IDs and the API key must come from the same panel: the sandbox panel for Sandbox, the live panel for Live. Leave the shop ID empty unless Przelewy24 gave your shop its own.
The entry is Failed and the note says “Incorrect sign” and names the CRC key The CRC key does not belong to this merchant and mode. Copy it again from My data and save.
The entry is Failed and the note says “Invalid currency” The currency is not enabled on your Przelewy24 account. Untick it in the settings or ask Przelewy24 to enable it.
Entries stay Processing after payment Przelewy24 must reach the notification address over the internet. Check that the site is public, uses https and that a firewall does not block Przelewy24. The status check still verifies payments every five minutes, and Refresh status works at any time.
A note says the transaction does not match the entry Przelewy24 reported another amount or currency than the entry. The entry was not verified or marked paid: check the transaction in the Przelewy24 panel.

Uninstall

Uninstalling from Forms → Settings → Uninstall, or deleting the plugin, removes the settings (including the encrypted keys), the schedule, locks, counters and cached checks. Entries, their notes and the transactions at Przelewy24 are kept.

Plans: one site $49 a year, five sites $69 a year, unlimited sites $199 a year. See the Gravity Forms Przelewy24 Premium Add-on page for details.

Still need help?

Our support team answers tickets every day, usually within a few hours.

0
0
Your Cart
Your cart is emptyReturn to Shop
🔥 FREQUENTLY BOUGHT TOGETHER
Complete Combo & Save 40%!
ITEM IN YOUR CART
Gravity Forms Klaviyo Add-on
$39.00/yr
+
🎁 RECOMMENDED ADD-ON SAVE 40% OFF
Original Price: $39.00/yr
Bundle Special Price: $23.40/yr