Glin Payments for WooCommerce

აღწერა

Glin Payments for WooCommerce adds Glin as a WooCommerce payment gateway. It lets Brazilian shoppers pay in BRL using card or PIX while the WooCommerce order remains in the merchant settlement currency supported by Glin.

The plugin loads the official Glin Checkout SDK automatically, sends tokenized payment data from WordPress to Glin with the merchant API key, and reconciles final order state through signed Glin webhooks. Merchants do not need to configure a custom SDK URL.

Main capabilities:

  • Card and PIX checkout support.
  • Classic checkout and WooCommerce Checkout Blocks support.
  • Automatic Glin remittance reservation during checkout.
  • Automatic webhook registration when gateway settings are saved.
  • Short card status polling so fast declines can keep shoppers on checkout.
  • Order-received polling and bounded WordPress cron reconciliation as webhook fallbacks.

Requirements:

  • WooCommerce 7.8 or newer.
  • A Glin merchant account.
  • Glin API and public checkout keys for sandbox or live mode.
  • A WooCommerce store currency supported by Glin.
  • Public HTTPS store URL for automatic webhook registration.

External services

This plugin connects to Glin services to process payments and keep WooCommerce orders synchronized with Glin payment status.

Service provider: Glin Brasil Servicos Digitais LTDA and Glin, INC.

Service endpoints used by the plugin:

  • https://sdk.glin.com.br/v1/glin-checkout.js loads the Glin Checkout SDK in the shopper browser when Glin is available at checkout.
  • https://pay.glin.com.br is used by the WordPress server in Live mode.
  • https://pay.staging.glin.com.br is used by the WordPress server in Sandbox mode.

Data sent to Glin and when it is sent:

  • When checkout is prepared, the plugin sends the WooCommerce cart amount, currency, generated checkout reference, success URL, and cancel URL so Glin can create or reuse a remittance.
  • When the shopper submits payment, the plugin sends the Glin remittance ID, selected payment method, tokenized card data or PIX request data, installments when applicable, billing name, email, phone, CPF/CNPJ, and billing address so Glin can process the payment.
  • When payment status is checked, the plugin sends the Glin remittance ID and public checkout key so Glin can return the current payment status.
  • When gateway settings are saved and the store URL is public HTTPS, the plugin sends the WooCommerce webhook URL and subscribed event types so Glin can deliver payment status updates to the store.
  • Glin sends signed webhook events back to the WooCommerce store webhook URL when a remittance is paid, canceled, expired, delivered, or disbursed.

Terms of service: https://www.glin.com.br/legal/terms

General platform terms: https://www.glin.com.br/legal/general-terms

Privacy policy: https://www.glin.com.br/legal/privacy

დაყენება

  1. Install and activate WooCommerce.
  2. Install this plugin from Plugins > Add New, or upload the plugin ZIP from Plugins > Add New > Upload Plugin.
  3. Activate Glin Payments for WooCommerce.
  4. Open WooCommerce > Settings > Payments.
  5. Enable Glin.
  6. Choose Sandbox or Live mode.
  7. Enter the matching Glin API key and public checkout key.
  8. Choose the payment methods to expose, then save settings.

After settings are saved, the plugin attempts to register the store webhook with Glin. Local HTTP stores can still test checkout flows, but webhook registration requires a public HTTPS URL.

ხდკ

Can this plugin be used without WooCommerce?

No. This is a WooCommerce payment gateway. WordPress can install the plugin, but checkout functionality requires WooCommerce to be installed and active.

Does the merchant need to configure an SDK URL?

No. The plugin uses Glin’s configured Checkout SDK URL internally.

Does the plugin support sandbox testing?

Yes. Merchants can choose Sandbox mode and enter sandbox API/public checkout keys.

How do webhooks work?

When gateway settings are saved, the plugin attempts to register the WooCommerce store webhook URL with Glin. Glin sends signed payment/remittance events to that URL. The plugin verifies the signature, finds the WooCommerce order by stored Glin identifiers, and updates the order status idempotently.

What happens if a webhook is delayed?

The plugin also polls pending order-received pages and schedules bounded WordPress cron reconciliation for orders left waiting.

მიმოხილვები

There are no reviews for this plugin.

მონაწილეები & დეველოპერები

“Glin Payments for WooCommerce” ღია პროგრამული უზრუნველყოფაა. შემდეგმა ადამიანებმა წვილი შეიტანეს მის განვითარებაში.

მონაწილეები

გადათარგმნეთ Glin Payments for WooCommerce თქვენს ენაზე.

დაინტერესებული ხართ დეველოპმენტით?

დაათვალიერეთ კოდი, შეამოწმეთ SVN რეპო, ან გამოიწერეთ შექმნის ჟურნალი : RSS.

ცვლილებები

0.1.8

  • Load the checkout styles and the payment-status script on the My Account order page too.
    A pending PIX order shown there had an unstyled QR code and a status line that said it
    was waiting for confirmation but never updated, because nothing was polling it.

0.1.7

  • Stop the PIX QR code filling the whole column on desktop. The size was set on the image,
    and Elementor’s .elementor img { max-width: 100% } is a more specific selector, so it
    won and the code stretched to the width of the page. The QR code is now sized by a
    container of its own, which a theme has no reason to restyle.

0.1.6

  • Fix classic checkout never sending payment data. WooCommerce dispatches
    checkout_place_order_ with triggerHandler(), which does not bubble, so the
    handler bound on document.body never ran and orders were placed with an empty payload
    and immediately failed with “Glin payment was not ready.”
  • Bind the place-order handler to form.checkout directly and re-bind it after each
    checkout update.
  • Fix every card payment failing with “This remittance is not available for the current
    checkout session.” The {remittanceId} placeholder in the prepare endpoint URL was
    stripped by esc_url_raw(), so the request went to a literal remittanceId path.
    Affected both classic and block checkout.
  • Send the billing phone in E.164 when preparing a payment. WooCommerce stores whatever
    the shopper typed, and the unnormalized value was rejected, so card payments could not
    get past the prepare step. The pay request already normalized; prepare did not.
  • Stop mangling phone numbers in area code 55, and accept a phone written with the
    national trunk “0” before the area code. Brazil’s country code and the Santa Maria area
    code are the same two digits, so testing for a “55” prefix removed those shoppers’ area
    code instead of adding the country code and their payments were rejected. Length tells
    the two apart once the trunk “0” is stripped.
  • POST the 3D Secure challenge with its creq field instead of opening the ACS URL as a
    plain link. EMV 3DS 2.x answers a bare GET with an error page. Falls back to a link when
    the provider sends no creq.
  • Treat an expired or canceled remittance as terminal. A checkout abandoned before any
    order exists reports only remittanceStatus, so orders previously stayed in “pending
    payment” forever and consumed every reconciliation attempt.
  • Keep polling for payment confirmation for the full 32 minutes a PIX code can be paid in,
    up from 6, and tell the payer when the page stops watching instead of leaving “Waiting
    for payment confirmation” on screen forever.

0.1.5

  • Log sanitized Glin API failure context to WooCommerce logs when debug logging is
    enabled.
  • Include request method, endpoint path, status code, safe remittance fields, and
    boolean presence checks for sensitive customer, address, and card payload fields.
  • Keep card tokens, device fingerprints, CPF/CNPJ, email, phone, and full address
    values out of plugin logs.

0.1.4

  • Validate WooCommerce order totals against the Glin merchant API amount range before
    initializing checkout.
  • Replace raw API validation text with a shopper-safe order amount message.

0.1.3

  • Verify the webhook JWS over the raw request body, as required by the unencoded
    detached payload form (RFC 7797). Earlier versions base64url-encoded the body first
    and rejected every valid signature.
  • Check the protected header claims before trusting a webhook: alg is RS256, b64 is
    false, aud matches the integration account, and kid names a key in Glin’s JWKS.
  • Send the API key as a Bearer token when fetching the JWKS, which that endpoint requires.

0.1.2

  • Remove screenshot captions until matching WordPress.org screenshot assets are available.

0.1.1

  • Initial pilot release of the Glin WooCommerce gateway.