paypal.pml (1253B)
1 # FROM: https://github.com/w3c/webpayments/tree/gh-pages/PaymentFlows 2 3 @startuml 4 autonumber 5 6 Participant "Payee (Merchant) Site" as Payee 7 Actor "Payer (Shopper) Browser" as Payer 8 participant "Payer (Shopper) PSP (PayPal)" as CPSP 9 10 note over MPSP, CPSP: HTTPS 11 12 title PayPal Payment (REST API) (Current) 13 14 Payee->Payer: Present Checkout Page with Pay Button 15 16 Payer->Payer: Select PayPal Payment Method 17 18 Payer-\Payee: Payment Page Request 19 20 Payee<->CPSP: Create Payment 21 22 Payee-/Payer: HTTP Redirect 23 24 Note right: HTTP Direct now send the shopper to the PayPal site 25 26 Payer-\CPSP: Payment Initiation 27 28 CPSP-/Payer: Authentication Page 29 30 Payer-\CPSP: Authenticate 31 note right: Typically a username & password 32 33 CPSP-/Payer: Payment Page 34 35 opt 36 Payer<->CPSP: Instrument Choice 37 note right: Payer can change from default payment instrument 38 end 39 40 Payer->Payer: Approval 41 42 Payer-\CPSP: Payment Approval 43 44 CPSP-/Payer: Payment Response Redirect 45 46 Payer-\Payee: Payment Response 47 48 Payee<->CPSP: Execute Payment 49 50 Payee-/Payer: Result Page 51 52 53 ... asynchronous notification ... 54 55 CPSP->Payer: Payment Notification (email) 56 57 Opt 58 Payee->Payer: Payment Notification (email) 59 End 60 61 Note right: Provides out of band confirmation to protect against failure/modification at browser 62 63 64 @enduml