# Payments and payouts using the Mirakl app Accept payments and pay out using the Stripe Mirakl app. We categorize [payment methods](https://docs.stripe.com/payments/payment-methods/overview.md) into seven families. Each family has similar features, a single integration, and common checkout experiences. You can use one of our [existing apps](https://docs.stripe.com/use-stripe-apps.md) or [build your own integration](https://docs.stripe.com/payments.md) to accept payments. > When implementing payments, don’t use any of the *Connect* (Connect is Stripe's solution for multi-party businesses, such as marketplace or software platforms, to route payments between sellers, customers, and other recipients) charge types. The plugin takes care of [splitting the funds](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-split) based on your Mirakl orders. ## Create a payment Choose the payment method families according to the order workflow most adapted to your use case. | Family | Pay on acceptance | Pay on delivery | Pay on due date | | -------------------------------------------------------------------------------- | ----------------- | --------------- | --------------- | | [Cards](https://docs.stripe.com/payments/accept-a-payment.md) | ✓ Supported | ✓ Supported | ✓ Supported | | [Bank debits](https://docs.stripe.com/payments/bank-debits.md) | ✓ Supported | ✓ Supported | ✓ Supported | | [Bank redirects](https://docs.stripe.com/payments/bank-redirects.md) | ✓ Supported | N/A | N/A | | [Credit transfers](https://docs.stripe.com/payments/sources/credit-transfers.md) | ✓ Supported | ✓ Supported | ✓ Supported | | [Buy now, pay later](https://docs.stripe.com/payments/buy-now-pay-later.md) | ✓ Supported | N/A | N/A | | [Vouchers](https://docs.stripe.com/payments/vouchers.md) | ✓ Supported | N/A | N/A | | [Wallets](https://docs.stripe.com/payments/wallets.md) | ✓ Supported | N/A | N/A | ### Pay on acceptance For cards, set the value of [capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-capture_method) option to `manual` when completing the PaymentIntent to authorize only. The connector [captures the funds automatically](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-validation) as soon as all sellers have accepted or refused their respective orders. The orders must be accepted or refused within 7 days, the validity period of an authorization. Because the payment confirmation is immediate for bank redirects, wallets and buy now, pay later, we recommend setting up your orders to be accepted automatically and using refunds when sellers can’t fulfill their order. ### Pay on delivery For cards, you can authorize only during checkout if you have business rules in place to capture the payment within 7 days. Otherwise, [save the card](https://docs.stripe.com/payments/save-and-reuse.md) at checkout and authorize later. For bank debits, you can save the bank account at checkout and initiate the payment after the seller accepts their order. ### Pay on due date You can use Stripe Billing to [send an invoice](https://docs.stripe.com/invoicing/dashboard.md) to your customers who can then pay using our [hosted invoice page](https://docs.stripe.com/invoicing/hosted-invoice-page.md). ## Validate a payment To handle the payment validation of your Mirakl orders, you can rely on the built-in job or call the [PA01](https://help.mirakl.net/help/api-doc/operator/mmp.html#PA01) API yourself if you have specific needs such as offering coupons. To enable the built-in job, you have to first map the Mirakl order with the successful Charge by updating the metadata: ```bash curl https://api.stripe.com/v1/charges/ch_1Hmloy2eZvKYlo2C2Tx3W00V \ -u <>: \ -d "metadata[mirakl_commercial_order_id]"=123 ``` The workflow starts when a seller accepts their logistic order. 1. The [payment validation job](https://docs.stripe.com/use-stripe-apps/mirakl/reference.md#payment-validation) fetches newly accepted Mirakl orders. 1. The plugin validates the payment in Mirakl. 1. For cards, the payment is captured when all the logistic orders are accepted or refused. ![](https://b.stripecdn.com/docs-statics-srv/assets/payment-validation.b4e38338cc8ca2b4b9a6b54381e11fb8.svg) ## Payment split The workflow starts when the payment is validated on Mirakl and captured on Stripe. 1. The [payment split job](https://docs.stripe.com/use-stripe-apps/mirakl/reference.md#payment-split) fetches newly validated Mirakl orders. 1. The plugin transfers the order amount to the seller after deducting your commission. ![](https://b.stripecdn.com/docs-statics-srv/assets/payment-split.854d23364864078f73b0f85509048073.svg) ## Refund a payment The workflow starts when you request a refund on a Mirakl order. 1. The [payment refund job](https://docs.stripe.com/use-stripe-apps/mirakl/reference.md#payment-refund) fetches newly refunded Mirakl orders. 1. The plugin creates a refund on Stripe, validates the refund on Mirakl, and then reverses the transfer used to split the payment. ![](https://b.stripecdn.com/docs-statics-srv/assets/payment-refund.542699f87703a1899287530589e40614.svg) ## Pay out to your sellers The amount and frequency of each *payout* (A payout is the transfer of funds to an external account, usually a bank account, in the form of a deposit) to your sellers is controlled by Mirakl based on your settings. You can customize your billing cycles under **Settings** > **Shops** > **Billing Cycles**. By default, your sellers receive their payouts on the 1st, 11th, and 21st of each month. ### Seller settlement The workflow starts when Mirakl generates a new *invoice* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice). 1. The [payout job](https://docs.stripe.com/use-stripe-apps/mirakl/reference.md#payout) fetches newly created Mirakl invoices. 1. The plugin performs the following actions based on the invoice attributes: | Invoice attribute | Action taken | | ------------------------------- | ----------------------------------------- | | `total_other_credits_incl_tax` | Transfer from the operator to the seller. | | `total_other_invoices_incl_tax` | Transfer from the seller to the operator. | | `total_subscription_incl_tax` | Transfer from the seller to the operator. | | `amount_transferred` | Pay out to the seller. | Commissions are already handled during the [payment split workflow](https://docs.stripe.com/use-stripe-apps/mirakl/payments.md#payment-split). ![](https://b.stripecdn.com/docs-statics-srv/assets/payout.514743e5e90d9862245e84cc1c9d3ea2.svg)