GoCardless Receipts v1.3.0

New in this version:
- Historical payment sync now starts as a background job instead of running in the browser request
- Sync page now includes a live progress monitor with an animated progress bar and counters for processed, created, updated, skipped, and errored payments
- You can safely leave the Sync History page and continue using the rest of WordPress while the sync continues in the background
- Background sync uses smaller batches with persisted state to reduce the chance of timeouts on larger payment histories
- Optional setting to disable PDF downloads completely
- Improved PDF receipt layout with a cleaner invoice-style design
- PDF now includes customer name, company, email, phone, bank name, and address where available
- Receipt records now store richer customer details for display in HTML and PDF views
- PDF links are hidden automatically when PDF downloads are disabled

Setup:
1. Upload and activate the plugin.
2. Go to GoCardless Receipts -> Settings.
3. Enter your GoCardless access token and webhook secret.
4. Add the webhook URL shown on the settings page in your GoCardless dashboard.
5. Create a page for customers, for example /receipts/.
6. Add the shortcode [gocardless_receipts_portal] to that page.
7. Save the page URL in the Portal Page URL setting.
8. Adjust the receipt design settings to customise the receipt appearance.
9. Use GoCardless Receipts -> Sync History to import older payments and generate receipts for them.

Shortcodes:
- [gocardless_receipts_portal]
- [gocardless_receipts_list limit="20"]
- [gocardless_receipt payment_id="PM000123456"]

Notes:
- Customer access is based on the email address stored against each receipt.
- Historical sync now continues in the background after you press Start syncing all past payments.
- The on-screen progress bar is indeterminate while a sync is running because the GoCardless payment list endpoint is cursor-based.
- When PDF downloads are disabled, receipts remain available as printable HTML pages.
