Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Data Flow

 How to set up webhook in the Stripe Dashboard

Go to Developers > Webhooks > Add endpoint.

When the Add endpoint is clicked, the image below will be shown

Expected Stripe Objects

  1. Charge

  2. Invoice

  1. Payouts

You must select what event to listen to for the selected object. Each object has different events, so carefully select what is only needed → as much as possible do not select all events available.

Invoices

Fundraising Extension uses invoices for gift transaction scheduled payments. PosiPayments needs to have a facility to listen to any invoice events.

The payload is sent out to salesforce from the stripe webhook.

Invoice payments can:

Request payment on specific future dates Automatically charge a payment

Enable the following events on the invoice object:

1. invoice.created

2. invoice.payment_failed

3. invoice.payment_succeeded

Payouts

After the payment, several things can happen. If the payment succeeds normally, you can focus on payout options from Stripe, sending email receipts, and triggering workflows to fulfill the customer’s order. When it’s more complicated, Stripe provides guidance for things like declined cards, refunds, disputes, and fraud. More about payouts here

How to configure payouts on your dashboard

 Go to Balances and click Manage. See the sample screenshot below.

When the Manage payout schedule is clicked, a user can select either manual or automatic.

More details about the payout schedule are here.

Gateway Event Mapping (Stripe → Salesforce)

Gateway Invoice Field

Response Field

Notes

Event ID

id (Event)

 

Raw Request

 

Full JSON body

Webhook Event Object

 

data.object.object

 

Gateway Account

 

data.object.metadata.gateway_id

 

Gateway Transaction Mapping (Stripe → Salesforce)

Gateway Invoice Field

Response Field

Notes

Payment Intent ID

data.object.charges.data.payment_ intent

 

Charge ID

data.object.latest_charge

 

Balance Transaction ID

 

data.object.charges.data.balance_ transaction

 

Amount

 

data.object.amount

 

Transaction Currency

 

data.object.currency

 

Payment Type

data.object.charges.data.payment_ method_details.type

If the type is “card”, the Payment Type is set to “Cards”.

If the type is “au_becs_debit”, the Payment Type is set to “Bank Debits”.

Transaction Status

 

data.object.status

If the status is “succeeded”, the Transaction Status is set to “Success”.

If the status is “processing”, the Transaction Status is set to “Pending”.

Otherwise, Transaction Status is set to “Failed”.

Payment Date

created

 

Decline Code

 

data.object.last_payment_error.de cline_code

 

Result Code

data.object.last_payment_error.co de

 

Result Message

data.object.last_payment_error.me ssage

 

Gateway Invoice Mapping (Stripe → Salesforce)

Gateway Invoice Field

Response Field

Notes

Invoice ID

data.object.id (Event)

 

Payment Intent ID

 

data.object.payment_intent

 

Amount Paid

 

data.object.amount_paid

 

Invoice Status

 

data.object.status

If the status is “paid”, the Invoice Status is set to “Paid”.

  • No labels