CashBox for Salesforce
PayPal One-Time and Recurring Transactions
The following diagram describes the Payment Capture Flow for a PayPal transaction.
Payment Capture Flow: PayPal Transactions
Both One-Time and (initial) Recurring Transactions using PayPal as a Payment Method step through the following process:
1. 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.
2. CashBox creates a new Transaction, and calls PayPal with SetExpressCheckout.
3. PayPal initiates the session, and returns a token, the PayPal redirect URL, and a reference ID (if requested) to CashBox.
Request a reference ID from PayPal only for use in recurring AutoBills. The reference ID is not used for One-Time Transactions.
4. 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.
5. Redirect your customer to the PayPal site, using the PayPal redirect URL returned from CashBox.
6. On the PayPal redirect URL, your customer enters their username and password, and clicks Continue. 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).
- Invisible 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.
7. Do the following:
- From your Success page, call CashBox to finalize the transaction.
- From your Cancel page, call CashBox to cancel the transaction.
8. CashBox sets the Transaction Status to Authorized, queues it for batch capture, and calls ExpressCheckout with the PayPal Token to complete the process.
Transactions are captured in batches (normally twice a 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.