You can create orders for all purchase types with the appropriate order endpoints. We recommend that you use the documentation for each order type because there are some differences in the business rules and data objects for each order type. For example, a single payment order can have more than one product, so the order has an array of order_products. In contrast, a subscription order can only have one product, so this is represented with the order_product object.
Before you create orders
Create a product in the UI with the product_type for your order. Then create a customer in the API or UI, or using CSV import. For metered or instalment orders, define the amounts for card registration when the initial payment is 0. See card registration amount in the configuration documentation.
The get customer response includes two identifiers: the system customer id, which is an integer, and the merchant's customer identifier or customer_id, which is an alphanumeric string. To create an order for the customer, set the order's customer_id to the system customerid. The order will return the merchant's customer identifier as the customer_id and then in the order customer object, it will return the system customer id.
Accepting payments
BillPro creates a payment link for a new order and sets its status to pending. Send the payment link to the customer by email, or integrate with the payment link to redirect the customer to the secure checkout. See Integrate with payment links. The payment link renews the checkout when the user clicks on it.
For CardCorp merchant accounts only, when you create the order, you can create a custom checkout to use in an iframe integration. See Integrate with custom checkout and payment iframe. If the user doesn't complete their transaction within 25 minutes, the custom checkout expires. Renew the expired checkout with the Renew Checkout request.
Notifications
When you create an order with the API, BillPro does not send an Order is Ready email with the payment link or a Payment Reminder email to the customer.
Manage scheduled payments
For orders with recurring payments, you can manage billing events for scheduled payments in the UI and with the API.
Manage subscriptions
For subscriptions, when you manage scheduled payments, you can also change the payment intervals with the API. And you can pause and restart subscriptions with the API.
Cancel orders
In the API, you can cancel instalment, subscription, and metered orders using the Cancel order request. In BillPro preliminary orders are awaiting an initial payment to complete or activate as live orders. And live orders can have authorised payments, ad-hoc billing events, or scheduled payments.
You can cancel preliminary orders with a status of draft, pending, or rejected. You can cancel live orders with a status of active, failed, suspended, paused, or review.
From this request, the API terminates the orders by setting the status of preliminary orders to cancelled and marks live orders as complete.
This is equivalent in the UI to opening the Order Summary and from the actions menu, selecting Cancel Order (preliminary orders) or Mark as Complete (live orders).
Cancel old pending orders
Regularly cancel old Pending orders in the UI or API. To get a list of pending orders, create an Orders report and filter for the pendingstatus. You can download the report in CSV format.