Back to install picker
Install on WooCommerce
Real WordPress plugin. Tiyo appears as a payment method at WooCommerce checkout; orders auto-mark paid via webhook.
Pick this path if…
The merchant runs a WordPress + WooCommerce store. You want Tiyo to appear as a payment option at the standard Woo checkout, with orders flipping to Paid automatically when the customer completes checkout.
- 1Get the pluginThe plugin lives at
integrations/woocommerce/tiyo-payments/in the Tiyo Pay repo. Zip the directory, or pull a release zip from github.com/goodcodeworks/tiyo-gateway. - 2Upload to WordPressWordPress Admin → Plugins → Add New → Upload Plugin. Pick the zip. Click Install Now, then Activate.
- 3Configure the merchant IDWordPress Admin → WooCommerce → Settings → Payments. Click Tiyo Pay. Paste the
brz_mer_…from the Tiyo Pay dashboard's Settings → Business info into Merchant ID. Tick Enable Tiyo Pay. Save. - 4Register the webhookIn the Tiyo Pay dashboard → Webhooks → Add webhook. URL:
https://YOURSTORE.com/?wc-api=tiyo_payment_webhookSubscribe topayment.completed,payment.refunded, andpayment.failed. Save the signing secret immediately — Tiyo only shows it once. Paste it into the plugin settings under Webhook secret. - 5Test with a real Woo checkoutPlace a test order on the storefront. At checkout, Tiyo Pay should appear as a payment method. Pick it; click Place order. You'll be redirected to
tiyopay.vercel.app/pay/…. After payment, the customer lands back on Woo's order-received page and the order status flips to Processing (or Completed for digital goods) automatically. - 6Verify the webhook is firingIn the Tiyo Pay dashboard → Webhooks → click your webhook → Deliveries tab. You should see a
payment.completeddelivery with HTTP 200. If it's 4xx/5xx, click in for the response body — the plugin's webhook handler returns a clear error.If the webhook is showing signature_invalid, the signing secret in plugin settings doesn't match the one Tiyo minted. Rotate from the Tiyo Pay dashboard and paste the new secret into Woo settings.
How reconciliation works
The plugin round-trips your wc_order_id through Tiyo:
process_paymentstampsmetadata.wc_order_idon the checkout session.- Tiyo echoes that back on the
payment.completedwebhook. - The webhook handler matches the order by
wc_order_id, calls$order->payment_complete($txn_id). - Refunds via Tiyo fire
payment.refunded→ handler runs$order->refund_payment(...).
No manual marking-as-paid needed. This is the tightest of the four integrations.