Payment Workflows for CiviCRM » History » Version 1
Brienne Kordis, 01/16/2023 05:00 PM
| 1 | 1 | Brienne Kordis | # Payment Workflows for CiviCRM |
|---|---|---|---|
| 2 | |||
| 3 | ### Recurring payment workflow (PayPal) |
||
| 4 | 1. POST request from user to CiviCRM (User submits form) |
||
| 5 | CiviCRM creates a pending contribution and recurring contribution record. |
||
| 6 | 2. POST request from CiviCRM to PayPal (Civi asks PayPal to authorize card). PayPal responds with success or failure. |
||
| 7 | CiviCRM responds to user's POST request with a thank-you page (or a PayPal error) |
||
| 8 | A few minutes later... |
||
| 9 | 3. POST request from PayPal to CiviCRM (informing Civi that recurring contribution was created on PayPal's side) |
||
| 10 | 4. POST request from PayPal to CiviCRM (informing Civi that contribution was successfully charged). |
||
| 11 | |||
| 12 | ### Recurring payment with interdiction (PayPal) |
||
| 13 | 1. POST request from user to CiviCRM (User submits form) |
||
| 14 | CiviCRM creates a pending contribution and recurring contribution record. |
||
| 15 | 2. POST request from CiviCRM to PayPal (Civi asks PayPal to authorize card). PayPal responds with success or failure. |
||
| 16 | CiviCRM responds to user's POST request with a thank-you page (or a PayPal error) |
||
| 17 | A few minutes later... |
||
| 18 | 3. POST request from PayPal to webhook.site (informing Civi that recurring contribution was created on PayPal's side) |
||
| 19 | 3a. POST request (curl, using webhook.site request) to Civi. |
||
| 20 | 4. POST request from PayPal to CiviCRM (informing Civi that contribution was successfully charged). |
||
| 21 | |||
| 22 | ### One-time payment (PayPal, Auth.net) |
||
| 23 | 1. POST request from user to CiviCRM (User submits form) |
||
| 24 | CiviCRM creates a pending contribution and recurring contribution record. |
||
| 25 | 2. POST request from CiviCRM to PayPal (Civi asks PayPal to authorize card). PayPal responds with success or failure. |
||
| 26 | CiviCRM responds to user's POST request with a thank-you page (or a PayPal error) |
||
| 27 | |||
| 28 | ### One-time payment (Stripe) |
||
| 29 | * POST request from user to Stripe (user submits form). Stripe responds in JavaScript with success/failure. (aka "pre-authorization") |
||
| 30 | * POST request from user to CiviCRM (triggered by the return of Stripe's request, and including the result of Stripe's request). Civi responds with thank-you page or an error. |