I just wanna sell a thing. How is that hard? It's not!
One of the the simplest flows you can make with our Building Blocks is to have a customer buy something. We're going to go through that flow step by step. For simplicity's sake, we're assuming you have your authentication and payment solutions in place already.
Let's pretend you're selling used DVDs, because that's super relevant. You're going to do these things:
Create a user
Create a product
Make an order
Pay for it.
Create a User
Eventually, you'll want to check out the User Object and all the related endpoints you can hit. But, to just create a new user, call the /v2/users endpoint with a JWT. Thereafter, that will log in the existing user.
You create products through the dashboard. It's very simple. Under the Orders tab, you'll see Products. Near the top will be New product +. Click that and give it a name, set the price and VAT. You're then taken to that product's details, which you can fill in to your heart's content. Pop over to the Products and see all its associated endpoints when you're ready.
Make an Order
Aka, Create an Order. Check out the Order Object and all its related endpoints for more info. But if you're just trying to make an order for a couple DVDs, you use /orders.
Body Parameters
Type
Description
currency
string
3 letter ISO currency code as defined by ISO 4217.
The fun part. Check out Payment Methods and Payments for all the parameters and related endpoints, as there are a few parts to getting paid. Here's the gist.
1. User adds a card
Your user will need to add a payment method, i.e. a credit or debit card, that they want to use to pay for their order.
Attribute
Type
Description
payment_method
string
Must be stripe for triggering a Stripe payment method.
token
string
Token created with the card details (number, expiration month, expiration year, card verification code).
POST /payment_methods HTTP/1.1Content-Type:application/jsonAuthorization:Bearer <jwt>X-Builton-Api-Key:<builton-api-key>Host:api.builton.dev{"payment_method":"stripe","token":"tok_1Bv5yfEeeXxFpLJtpWYeGYuy"}
To pay an order, you're going to hit /payments with the order ID and the payment method ID. Again, check out Payment Methods and Payments for more details.
Arguments
Type
Description
orders
array
List with orders to be paid.
payment_method
string
The payment method ID that you want to use.
POST /payments HTTP/1.1Content-Type:application/jsonAuthorization:Bearer <jwt>X-Builton-Api-Key:<builton-api-key>Host:api.builton.dev{"orders": ["<order-id>"],"payment_method":"<payment-method-id>"}