• Log in
  • Contact Sales
  • Evaluate

Get in touch  

Build the perfect Checkout

The quickest way to create a fit for purpose checkout process tailored to your exact business requirements with our flexible & robust Checkout API.

Evaluate Read the docs

A streamlined checkout

Convert carts to unpaid orders with a single, simple checkout API.

// Checkout the cart and pay for the order
async function checkoutCart() {
  const address = {
    first_name: 'Jon',
    last_name: 'Doe',
    line_1: '123 Sunny Street',
    postcode: 'CA94040',
    county: 'California',
    country: 'US'
  };

  const customer = {
    email: 'john@doe.co',
    name: 'John Doe'
  };

  try {
    // Checkout the cart and create an order
    const order = await Moltin.Cart().Checkout(customer, address);

    // Pay for the order using Stripe
    return Moltin.Orders.Payment(order.data.id, {
      gateway: 'stripe',
      method: 'purchase',
      first_name: 'John',
      last_name: 'Doe',
      number: '4242424242424242',
      month: '02',
      year: '2020',
      verification_value: '123'
    });
  } catch (e) {
    e.errors.forEach(err => {
      throw new Error(err.detail);
    });
  };
};
function checkoutCart() {
        $address = [
          'first_name' => 'Jon',
          'last_name' => 'Doe',
          'line_1' => '123 Sunny Street',
          'postcode' => 'CA94040',
          'county' => 'California',
          'country' => 'US'
        ];
      
        try {
          // Checkout the cart and create an order
          $order = $moltin->cart->checkout(
            'customer' => [
                'name' => 'John Doe',
                'email' => 'john@doe.co'
            ],
            'billing_address' => $address,
            'shipping_address' => $address
          );
      
          // Pay for the order using Stripe
          return $order->pay(
            'stripe',
            'purchase',
            [
              'first_name' => 'John',
              'last_name' => 'Doe',
              'number' => '4242424242424242',
              'month' => '02',
              'year' => '2020',
              'verification_value' => '123'
            ]
          );
        } catch (Exception e) {
          echo 'An exception occurred calling the Moltin API';
        }
      } 
checkout02

Make it your own

A one-step checkout or multiple steps required for your business? No problem. Wrapper our simple yet powerful cart, checkout and payment services with your own logic, processes, steps, UIs and more thanks to our headless, API-first approach.

_carts_with_custom_data

Send custom data through your checkout

Synchronize structured custom data through the checkout process automatically. At the cart level from carts to orders or at a more granular level from products to cart items and order items.

Learn more 

Payment processing

When you’re ready to take payments for orders, let us do the heavy lifting through our payment API with built-in aggregation for the most popular payment gateways.

Learn more 
Invite your developer
Introduce your developer
Developers love Moltin for its flexibility and simplicity. Send them a link to this page - trust us, they'll be grateful for it. Share a link 
Talk to a Moltin expert
Talk to a Moltin expert
For product inquiries or to chat to a member of our team directly, send us an email and we'll get back to you. Contact us

Let's build something amazing with Moltin

It always starts with a conversation.

Get in touch