Embedding

Payment links

Generate and share hosted invoice payment links for Paystack, Flutterwave, Anchor, Stripe, and related billing flows.

Payment links let customers pay hosted invoices without logging into Antly. The public payment surface works with billing controllers and provider webhooks for Paystack, Flutterwave, Anchor, Stripe, and related payment services.

Use payment links when the customer should receive a URL by email, SMS, portal page, public page, or external invoice system.

Server-side integrations should call the billing controller with api_key, jwt, or oauth2 depending on who owns the action.

json
1{ 2 "__meta__": { 3 "schema": "controller", 4 "namespace": "billing.Invoice", 5 "intent": "create_payment_link", 6 "authenticationClass": "api_key", 7 "return": { 8 "paymentUrl": null, 9 "reference": null, 10 "expiresAt": null 11 } 12 }, 13 "invoice": 10042, 14 "provider": "paystack", 15 "redirect_url": "https://example.com/billing/thank-you" 16}

The returned URL can be embedded as a link or button:

html
<a href="https://<tenant-domain>/pay/invoice/<reference>" target="_blank" rel="noreferrer"> Pay invoice </a>

Verify payment

Hosted flows and provider callbacks update billing state in Antly. External systems can verify a payment through the public or authenticated invoice verification controller, depending on the flow.

json
1{ 2 "__meta__": { 3 "schema": "controller", 4 "namespace": "billing.Invoice", 5 "intent": "verify_payment", 6 "authenticationClass": "public", 7 "return": { 8 "status": null, 9 "paidAt": null, 10 "amount": null 11 } 12 }, 13 "reference": "INV-2026-00042" 14}

Provider callbacks arrive through inbound webhook routes such as /webhooks/billing/billing/process_paystack_webhook. See /developer/inbound-webhooks.

For billing setup and customer-facing payment guidance, see /modules/billing-overview and /guides/payment-links.