This guide describes how to integrate an embedded payment form into your website using the Rebilly Instruments JavaScript library. This guide describes how to process the purchase of a product and a purchase of a set amount.
When this guide is completed, a customer is created in your Rebilly sandbox account after the initial checkout.
Prerequisites
To complete this guide, you must have: a website ID, an organization ID, a publishable API key, a product ID, and a pricing plan ID.
You must also have a payment gateway configured in your Rebilly account. For sandbox testing, the TestProcessor
gateway is pre-configured.
If you already have your IDs and API keys, continue to Step 1: Set up the HTML page. If you do not, create a product and pricing plan, and get your IDs and API key in Set up your environment.
Include the library
Include the Rebilly Instruments library using the Rebilly CDN:
https://cdn.rebilly.com/instruments/@latest/core.js
Include your Rebilly Instruments initialization script
Add the defer attribute to load the script after the HTML.
Specify mounting controls
The default mounting points are .rebilly-instruments
and .rebilly-instruments-summary
.
To provide custom mounting points, pass a valid CSS class or HTML element to the RebillyInstrument.mount()
function.
Initialize the library
Use this method to initialize the library and to configure the experience. This method returns a Promise
and accepts a single configuration
object.
For more information, see RebillyInstrument.mount().
Provide Rebilly account data
To initialize Rebilly Instruments, provide your:
- Publishable API key
- Organization ID
- website ID
To obtain IDs and API keys, see Prerequisites.
Provide purchase data
Select one of the following:
Purchase a product
Provide the planId
and quantity
properties. To create a pricing plan, see Prerequisites.
items: [
{
planId: 'rebilly-e-book',
quantity: 1,
},
];
Payment of a set amount
Provide the money
property and the purchase amount.
money: {
amount: 100,
currency: 'USD'
}
The following purchase data properties are available: items
, money
, invoiceId
, transactionId
. For more information, see Purchase data examples.
A JWT is required to process a purchase based on invoiceId
or transactionId
. To complete this type of purchase, see Payment form using a JWT.
instrument-ready
Indicates when an instrument token is created, and provides access to the instrument response. RebillyInstruments.on('instrument-ready')
purchase-completed
Indicates when a purchase is completed, and provides access to the transaction response.
For more information, see RebillyInstruments.on('purchase-completed').
Run a web server
A web server must be used to preview the project. Web browsers blocks API requests due to CORS restrictions.
To run a local server with Python 3, run:
python -m http.server 8000
Make a test payment
Open a web browser and navigate to http://localhost:8000/
to see the payment form.
Complete the payment flow using this test card number: 4111 1111 1111 1111
. Use any future expiration date and any 3 digits for the CVC number. For more test cards, see Test payment cards, IBANs, and ACH details.
This is an interactive example of a payment form that uses the Rebilly Instruments library. Complete the payment flow using this test card number: 4111 1111 1111 1111
. Use any future expiration date and any 3 digits for the CVC number. For more test cards, see Test payment cards, IBANs, and ACH details.
<!doctype html>
<html lang="en">
<head>
<title>Payment form</title>
<script src="https://cdn.rebilly.com/instruments/@latest/core.js" type="text/javascript"></script>
<script src="./index.js" type="text/javascript" defer></script>
</head>
<body>
<div class="rebilly-instruments-summary"></div>
<div class="rebilly-instruments"></div>
</body>
</html>