Payment Method Details
PayPal (Express Checkout) Payment Flows
Both One-Time and (initial) Recurring Transactions using PayPal as a Payment Method step through the following process:
- When your customer selects PayPal as their Payment Method, call CashBox to initiate the transaction, passing CashBox all relevant purchase information.
- Initializing the process creates a Transaction, sets its status to AuthorizationPending, and begins the Checkout process with PayPal.
- CashBox creates a new Transaction, and calls PayPal (uses the behind-the-scenes PayPal API SetExpressCheckout).
- PayPal initiates the session, and returns a token, the PayPal redirect URL, and a reference ID (if requested) to CashBox.
- Note: Request a reference ID from PayPal only for use in recurring AutoBills. The reference ID is not used for One-Time Transactions.
- CashBox then sets the Transaction status to Pending (or Failed), and redirects your customer to you with the PayPal token and redirect URL. (If PayPal returned a Failure, CashBox redirects your customer to your specified cancel URL.)
- On success, PayPal returns a unique session identifier, or “token,” and a redirect URL to CashBox, and CashBox passes that information back to the merchant for processing.
- On failure, PayPal returns a failure reason code to CashBox, and CashBox passes that information to you in a TransactionStatusPayPal object for processing.
- Redirect your customer to the PayPal site, using the PayPal redirect URL returned from CashBox.
- “In context” PayPal flow is not supported yet. CashBox currently offers the standard “redirect” flow.
- On the PayPal redirect URL, your customer logs in to PayPal (usually enters their username and password, and clicks Continue, but methods like PayPal’s One-Touch can be used). PayPal authenticates the user, and redirects them to the Payment Method selection page. Your customer selects their payment method, reviews the order, and clicks Approve (or Cancel).
- Invisibly to the customer, the PayPal site momentarily redirects to CashBox.
- With a successfully completed PayPal transaction process, CashBox redirects the customer to the merchant’s success URL.
- On a failed or cancelled PayPal transaction process, CashBox redirects the customer to the merchant’s cancel URL.
- From your Success page, call CashBox to finalize the transaction. OR From your Cancel page, call CashBox to cancel the transaction.
- CashBox sets the Transaction Status to Authorized, queues it for batch capture (and behind-the-scenes calls PayPal API ExpressCheckout with the PayPal Token to complete the process).
Transactions are captured in batches throughout the day.
Using PayPal for recurring billing, your customer must participate directly in the initial product purchase, but subsequent billing cycles may be generated and handled automatically by CashBox and PayPal. During the initial purchase process, the customer must be “validated,” but for subsequent billings, the customer need not be validated again unless the AutoBill requires updating or the AutoBill expires.
PayPal Merchants For more details on using PayPal for One-Time and Recurring transactions, see the CashBox Programming Guide (Section 5.6 Using PayPal for Recurring Billing), (Section 6.7 Using PayPal for One-Time Transactions) or request the “Using CashBox with PayPal” white paper, available from Vindicia Client Services.