PayWhirl

Manage subscription customers and billing with PayWhirl. In Appbricx, your workflows and server functions call it by name once it is connected.

What you can do

6 actions, each one call from a workflow or a server function. Triggers come from your app: a row changing, a schedule or a webhook.

  • Create CustomercreateCustomer
    Create a new customer. This is required before binding a customer to a plan via a subscription.
  • Cancel SubscriptioncancelSubscription
    Cancel a customer's existing subscription. This will prevent the subscription from making any additional charges and unbind the customer from the plan.
  • Get CustomersgetCustomer
    Retrieve a selection of customers. Useful for keeping track of customers in a local database.
  • Get Customer SubscriptionssearchCustomersSubscription
    Get a list of subscriptions associated with a given customer. Useful for determining which services a customer is currently expecting.
  • Subscribe CustomersubscribeCustomer
    Enroll a customer in an existing plan. The customer must have a valid payment method on file.
  • Custom API Callcustom_api_call
    Make a custom API call to a specific endpoint

Set it up

About two minutes, once per project or once for the whole workspace.

  1. Open Integrations in the builder

    Backend panel, Integrations tab, then PayWhirl. To connect it for every project, use Workspace settings, Integrations.

  2. Add your credentials

    An API key (or token) from your PayWhirl account, pasted once. It is stored encrypted and only read on the server when an action runs.

    • API key From PayWhirl's settings
  3. Call an action

    From a workflow, by integration id and action name. The call answers with success, output and, when it fails, the reason.

    Workflow
    // .workflow.js (native ctx)
    export async function run(ctx) {
      const res = await ctx.integrations.invoke("paywhirl", "createCustomer", {
        "first_name": "<first name>",
        "last_name": "<last name>",
        "email": "<email>",
        "currency": "<currency>"
      });
      if (!res.success) throw new Error(res.error);
      ctx.log.info("PayWhirl answered", { output: res.output });
    }

PayWhirl and its logo are trademarks of their owner, shown only to identify the service this integration connects to. Their use does not imply endorsement by, or affiliation with, that company.

Connect PayWhirl once. Every workflow can use it.