Chord OMS
...
Chord OMS Overview
Payments

Stripe Checkout

3min
this document will help you with understanding stripe checkout introduction chord uses stripe's 1 step checkout when a customer hits the checkout button in the store after they place items in their cart, the store will redirect the customer’s browser to stripe to complete checkout why are checkout totals in stripe are higher than cart totals? when the customer checks out in the store, the oms does not have the billing/shipping address for the customer therefore, it cannot calculate the correct sales tax and shipping rates addresses are only collected during checkout in stripe oms implements a workflow to capture the correct shipping and tax amounts from the customer when initiating a stripe checkout session, the oms charges the highest possible shipping rate charges the maximum tax rate (10%) when checking out, customers may observe that the total in stripe does not match the total in the store checkout tenants are advised to include appropriate text in their store checkout to inform users of the discrepancy when the checkout is complete, oms receives the customer’s checkout information and addresses from the stripe webhook oms then calculates the correct tax and shipping amounts and the difference/credit owed to the customer oms triggers a job to refund the difference to the customer embedded checkout chord now allows for stripe’s embed checkout simply provide a stripe embed checkout = enabled in the oms store configuration and oms will prepare a checkout session suitable for using stripe’s embed checkout for more information, refer to chord's embedded checkout documentation allowing carts for ad hoc charges tenants can make additional charges on completed orders by attaching the customer's payment method to their stripe account by enabling stripe always off session in the oms, we inform stripe that we wish to charge the customer's credit card as needed technically, this is done by setting the payment method options https //docs stripe com/api/payment intents/create#create payment intent payment method options card setup future usage when creating the paymentintent payment method options { 	card { 	 setup future usage 'off session' 	} } by default, customers that have a subscription item in their orders will always have this setting turned on because we will need to be able to charge their card once their subscription renews apple pay to display apple pay, the stripe always off session environment variable in the oms must be disabled disabling this environment variable and activating this payment method in your stripe dashboard should allow for this payment method to be present on checkout to present apple pay, an apple pay enabled browser (like safari) on an apple pay enabled device (like an iphone) must be used unfortuantely, there is currently a trade off per a recent change from apple pay and stripe , apple pay does not allow for this method to be used as a recurring payment method (i e to be used for future use) disabling this environment variable (which allows for this payment method to be active) will conflict with using any other payment methods (including stripe credit card) for any additional ad hoc charges after an order is completed this means that chord customers using stripe checkout will have to decide whether to have apple pay be available as a payment method, knowing that this will prevent ad hoc charges from being added, after the fact, to a completed order attempting to charge a customer after an order is completed, while stripe always off session is disabled will result in this error the provided paymentmethod was previously used with a paymentintent without customer attachment, shared with a connected account without customer attachment, or was detached from a customer it may not be used again to use a paymentmethod multiple times, you must attach it to a customer first for example if you have any questions or need help, please reach out to us at help\@chord co