Payments and payouts using the Mirakl app
Accept payments and pay out using the Stripe Mirakl app.
We categorize payment methods into seven families. Each family has similar features, a single integration, and common checkout experiences. You can use one of our existing apps or build your own integration to accept payments.
Note
When implementing payments, don’t use any of the Connect charge types. The plugin takes care of splitting the funds 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 | |||
Bank debits | |||
Bank redirects | N/A | N/A | |
Credit transfers | |||
Buy now, pay later | N/A | N/A | |
Vouchers | N/A | N/A | |
Wallets | N/A | N/A |
Pay on acceptance
For cards, set the value of capture_method option to manual
when completing the PaymentIntent to authorize only. The connector captures the funds automatically 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 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 to your customers who can then pay using our hosted invoice page.
Validate a payment 
To handle the payment validation of your Mirakl orders, you can rely on the built-in job or call the 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:
curl https://api.stripe.com/v1/charges/ch_1Hmloy2eZvKYlo2C2Tx3W00V \ -u
: \ -d "metadata[mirakl_commercial_order_id]"=123sk_test_BQokikJOvBiI2HlWgH4olfQ2
The workflow starts when a seller accepts their logistic order.
- The payment validation job fetches newly accepted Mirakl orders.
- The plugin validates the payment in Mirakl.
- For cards, the payment is captured when all the logistic orders are accepted or refused.
Payment split
The workflow starts when the payment is validated on Mirakl and captured on Stripe.
- The payment split job fetches newly validated Mirakl orders.
- The plugin transfers the order amount to the seller after deducting your commission.
Refund a payment 
The workflow starts when you request a refund on a Mirakl order.
- The payment refund job fetches newly refunded Mirakl orders.
- The plugin creates a refund on Stripe, validates the refund on Mirakl, and then reverses the transfer used to split the payment.
Pay out to your sellers 
The amount and frequency of each payout 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.
- The payout job fetches newly created Mirakl invoices.
- The plugin performs the following actions based on the invoice attributes:
Invoice attribute | Action taken |
---|---|
total_ | Transfer from the operator to the seller. |
total_ | Transfer from the seller to the operator. |
total_ | Transfer from the seller to the operator. |
amount_ | Pay out to the seller. |
Commissions are already handled during the payment split workflow.