Stripe Integration Overview
Get an overview of the Stripe integration in Maica.
Last updated
Get an overview of the Stripe integration in Maica.
Last updated
In Maica, there are two main processes that the Stripe Integration supports, these are:
Manual Sync via Process Invoice Quick Action
Automated Sync via Salesforce Flow
To learn about the Manual Sync Process, click here.
This article further explains and provides an overview of the Automated Sync via Salesforce Flow in Maica.
The below diagram outlines the steps involved in the automated Stripe sync, as well as the outcomes of the process.
Conditions Met
In order for the Processing Sync to be triggered, the Invoice
must satisfy a specific set of conditions, these being:
maica__Payment_Balance__c
> 0
maica__Total_Amount__c
> 0
maica__Status__c
= Entered
maica__Stripe_Invoice_ID__c
= NULL
(maica__Funding_Structure__c
= Self Managed
OR maica__Is_Copayment_Invoice__c
= TRUE)
maica__Authorise_Stripe_Auto_Billing__c
= TRUE
Stripe_Customer_ID__c
!= NULL
Sync Executed
Create Invoice
Once the Sync is executed, an Invoice
and associated Payment
record are created in Stripe.
Maica maps relevant information directly to Stripe including Invoice
information such as the Participant
and the Date
, as well as the detail from the related Invoice Line Item
records, such as Prod
uct, Quantity
and Rate.
Process Invoice
Immediately after the Invoice
record is created in Stripe, it will be automatically processed using the default Payment Method
associated with Customer
(the Partic
ipant from the Invoice
in Maica).
Create Payment
Update Invoice
For traceability, the Invoice
is updated with relevant Stripe information, including:
Stripe Dashboard Link
Stripe Invoice ID
Stripe Invoice Link
These fields will assist you in locating the Payment/Invoice in Stripe.
The creation of the Payment
record also triggers a number of Rollup Summary fields on the parent Invoice
, specifically:
maica__Total_Payment_Amount__c
maica__Last_Payment_Date__c
The maica__Payment_Amount__c
Formula will also be updated
The Invoice Status
will also be updated.
Process Ends
The process completes.
The following table further outlines the required conditions for the Sync to commence.
maica__Payment_Balance__c
> 0
The invoice must have an outstanding balance that is greater than zero. This means there's an amount that still needs to be paid.
maica__Total_Amount__c
> 0
The total amount for the invoice must be greater than zero. This ensures that only invoices with actual charges are processed.
maica__Status__c
= Entered
The invoice status must be marked as Entered
.
maica__Stripe_Invoice_ID__c
= NULL
This condition checks that the invoice has not already been processed through Stripe. If the invoice has a Stripe ID, it means it has already been synced.
(maica__Funding_Structure__c
= Self Managed
OR maica__Is_Copayment_Invoice__c
= TRUE)
The invoice is either for a self-managed participant or it is marked as a co-payment invoice, meaning the participant is responsible for a portion of the payment.
maica__Authorise_Stripe_Auto_Billing__c
= TRUE
The participant or your organisation has authorised automatic billing through Stripe by checking the Authorise Stripe Auto Billing
on your Participants Service Agreement.
Stripe_Customer_ID__c
!= NULL
The participant must have a valid Stripe Customer ID
and hence Payment Method, indicating they are set up for payment processing through Stripe.
As mentioned, after a Payment has been applied to an Invoice a Payment Record will be created. It includes a number of important fields, including:
Type
This field indicates the type of Payment Record, whether it is a transaction processed via Stripe or a Reconciliation following a Payment applied to an invoice in the Finance System (Xero).
Source
This field indicates how the Payment was created.
Paid
This field indicates if the Payment has been successfully processed. For example, the Invoice has been reconciled in Xero and synchronised with Maica.
Include
This field indicates if the Payment Amount should be included in the rollup to the Total Payment Amount
on the Invoice record. The default value is checked.
Payment Date
This field indicates the Date & Time in which Payment was received
Finance External ID
The unique identifier of the Payment record in an external system. Maica uses this field as part of the Xero integration.
Payment Amount
The amount of the received Payment. This can be the full or a partial amount of the total Invoice.
Stripe Payment ID
The ID of the corresponding Payment record in Stripe.
Stripe Invoice ID
The ID of the corresponding Invoice record in Stripe.
Error Code
The Error Code returned by Stripe
Error Message
The Error Message returned by Stripe
These conditions are further explained .
Once the above conditions are met, the Sync will be executed. This essentially means the Sync will be active 24/7 and triggered to run at any time the conditions are met.
A Sync can also be manually executed if required, click here to learn how to manually .
The Flow responsible for this Automation in Maica is the Maica - Create Stripe Invoice Flow
. To learn more about this flow, click here.
Once the Payment
has been successfully processed, the corresponding Payment
Record will be created in Maica. This record represents the Payment
that has been used to process the associated . This record can be found in the Payments
related list on the Invoice
in Maica.
This Payment
record will be automatically populated with fields such as Source
, Type
, Stripe Invoice ID
, Stripe Payment ID
and Payment Amount
. Any error messages and descriptions from Stripe will also show on the Payment
Record.
You can learn more about the Payment Record fields .
Once the Invoice
is created in Stripe, the Invoice Amount
cannot be edited in Maica at the Invoice
level. This is managed by Maica's validation; for additional information, click .