Skip to content

Payments & Earnings ​

The Payment action lets the people using your app pay for a record, such as an invoice, an order or a service charge, without leaving the app. You get paid into your own bank account.

Add a Payment action ​

  1. Open the collection whose records get paid (for example invoices), go to its Actions tab and click Add Action.
  2. Set the type to External and the channel to Payment.
  3. Choose the Amount field: the field on the record that holds how much to charge, in naira.
  4. Optionally add a Description. It's shown on the payment record.
  5. Save the action, then save your schema.

Confirmation is on by default, since this moves real money.

The amount field must be a real, saved field

Only number and price fields that are stored appear in the list. A computed field isn't saved, so the server can't read it. If your total is calculated, put the result into a stored number field (for example with a Set fields action) and point the Payment action at that.

Customers must not be able to edit the amount

The server charges whatever the amount field holds on the saved record, never a value sent from someone's phone. But if a customer can edit that field, they can lower it before paying. Make the field read-only, or turn Update off for their role on that collection (see Roles).

What the customer sees ​

  1. They tap the action and confirm.
  2. They're taken to a secure payment page (Paystack) to pay by card or bank.
  3. When they return, the app confirms the payment and the record shows as paid.

A few rules:

  • Payments need an internet connection. Offline, the action tells the person so instead of queueing a payment for later.
  • The record has to be saved to the server first. If it hasn't finished syncing, the app syncs it before starting the payment.
  • One payment per record. Trying again after an abandoned attempt is fine. A record that's already paid can't be paid again.
  • Payments are in naira (NGN), with a small minimum (currently ₦50).

The Payments collection ​

The first time you save a Payment action, a collection called payments is added to your app automatically. It holds one record per attempt: the description, amount, status (pending, paid, failed, abandoned or duplicate), when it was paid, and which record it was for.

  • It is read-only. Only the server can create or change these records, so nobody can mark something paid from the app.
  • Each customer sees only their own payments. To let staff see everyone's, give their role View access to payments in Roles.
  • You can change how it's presented (its label, icon, views and where it appears in Navigation), but not its fields.
  • The name payments is reserved. If you already have a collection with that name, rename it before adding a Payment action.

Show "Paid" and hide the button ​

Add a computed yes/no field to the collection, for example is_paid, with this formula:

EXISTS("payments", AND(EQUAL({recordId},{_THISRECORD.pbId}),EQUAL({status},"paid")))

Then set the Payment action's Show only if to NOT({is_paid}), so the button disappears once the record is paid. Because payments sync like any other collection, "Paid" keeps showing when the person is offline.

Getting paid ​

Payments are collected first, then credited to you.

  1. Add your bank account. In the app gallery, open Earnings. Pick your bank, enter your 10-digit account number and click Check account. You'll see the name registered on the account; confirm it's yours, enter your Axiomers password and save. (Saving needs your password, and you get an email whenever the account is changed.)
  2. Watch your balance build. Each paid record credits your Earnings balance, minus the platform's commission (shown on the same page). Earnings build up even before you've added a bank account.
  3. Get paid out. Payouts are made by bank transfer to the account you saved. Your Earnings page lists every sale and every payout.

Sales of your paid marketplace templates are credited to the same balance.

Good to know ​

  • Refunds aren't automated. If you need to refund a customer, contact support so the credit can be adjusted on your balance.
  • If two payments for the same record both succeed (for example someone paid an old link after starting a new one), both are credited and the later one is marked duplicate so you can spot and refund it.
  • Payments may need to be switched on for your account. If the app says in-app payments aren't enabled yet, contact support.

Released under no license yet — internal product, pre-launch.