# GRT Billing Bridge

PadSync connects WooCommerce with Paddle Billing so you can sell products through Paddle, sync pricing, track transactions, and generate license keys from WordPress.

> This plugin is an independent integration and is not affiliated with or endorsed by Paddle.

## Features

- Paddle Billing checkout integration for WooCommerce
- Webhook handling for Paddle transaction events
- Automatic license key generation and storage in custom tables
- WooCommerce product integration with a Paddle checkbox and PadSync product tab
- Paddle price sync flow from the WooCommerce product editor
- Admin screens for products, transactions, licenses, generators, and subscriptions
- Customer account downloads and subscriptions views
- Printable license certificate output

## Requirements

- WordPress 6.0 or later
- WooCommerce 5.0 or later
- PHP 7.4 or later
- A Paddle Billing account with API credentials
- WooCommerce must remain installed and active because this plugin extends WooCommerce checkout, product, and account flows

## Installation

1. Upload the plugin to `/wp-content/plugins/external-paddle-integration`.
2. Activate the plugin from the WordPress admin.
3. Go to `PadSync > Settings`.
4. Add your Paddle client token, API key, and webhook secret.
5. Configure your Paddle webhook endpoint and subscribe to the transaction events you need.
6. Verify that your Paddle environment matches the credentials you entered in WooCommerce.

## External Services

PadSync depends on Paddle as an external service for payment and subscription operations.

- Service: Paddle Billing
- Purpose: create checkout transactions, open Paddle-hosted checkout, sync products and prices, fetch transaction and subscription data, and process payment webhooks
- Data sent: customer email address, WooCommerce order ID, order totals, currency, product or price details, and transaction identifiers when checkout or sync actions are performed
- When sent: on the WooCommerce payment page, when checkout is finalized, when an admin syncs products or prices, when transactions or subscriptions are fetched, and when Paddle sends webhook events to your site
- Remote domains: `api.paddle.com` and `sandbox-api.paddle.com` for API requests, plus Paddle webhook delivery back to your WordPress site
- Terms of Service: https://www.paddle.com/legal/terms
- Privacy Policy: https://www.paddle.com/legal/privacy

## Ownership And Branding

- PadSync is an independent WooCommerce integration plugin
- It is not affiliated with, endorsed by, or owned by Paddle
- A Paddle merchant account is required and remains under the site owner's control
- Use your own verified business identity and support contacts for production deployment

## Product Setup

1. Edit a WooCommerce product.
2. Enable the `Paddle` product option.
3. Open the `PadSync License Manager` tab.
4. Sync or enter the Paddle product and price details.
5. Save the product.

## Admin Areas

PadSync adds dedicated admin screens for:

- Dashboard
- Products
- Transactions
- Licenses
- Generators
- Subscriptions
- Settings

## Notes

- License, transaction, and synced product data are stored in plugin-specific custom database tables.
- Paddle webhook processing is required for payment and license workflows.
- The plugin extends WooCommerce behavior, so WooCommerce must be active.
- Subscriptions are matched against Paddle customer records using the logged-in user's email address, so verified store accounts are recommended for reliable ownership mapping.
