Billing

At the moment, Pace billing is handle by Paddle. Pace integrates seemlessly with Paddle for handling subscriptions (subscribe, cancel, downgrade, upgrade, change payment method, etc.).

Create Paddle account

To integrate your application with Paddle, you must have an active Paddle account or sign up for one if you don't already have one. During development, you may use the Paddle Sandbox.

Add Paddle credentials

Next, you need configure your application with your Paddle credentials. You can grab these credentials from your Paddle dashboard from the Authentication and Public Key sections under Developer Tools.

These credentials should be added in your application's .env file:

// .env

PADDLE_VENDOR_ID=YOUR_PADDLE_VENDOR_ID
PADDLE_VENDOR_AUTH_CODE=YOUR_PADDLE_VENDOR_AUTH_CODE
PADDLE_SANDBOX=true
PADDLE_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAykW3Mgcx9B20fPhARfh1...EAAQ==
-----END PUBLIC KEY-----"

If you're using Paddle's sandbox environment, you should set PADDLE_SANDBOX to true.

Paddle Webhooks

To be notified when events occur on Paddle and fulfill them accordingly on your application, you need to configure your application to receive webhooks from Paddle. That way, your application's billing data is in sync with Paddle's.

In your Paddle dashboard, go to Developer Tools > Events then under the Receiving events panel, enter https://project_name.com/webhook.

Where `project_name.com` is your application domain or the site sharing URL generated.

Also, you should enable webhook alerts for the following events:

  • Subscription Created
  • Subscription Updated
  • Subscription Cancelled
  • Subscription Payment Success
  • Subscription Payment Failed

Webhooks in local development

For Paddle to be able to send your application webhooks during local development, you will need to expose your application to be publically available. You can do that using site sharing services such as Ngrok or Expose.

Now, you can head over to the admin area to create some plans.