Payment Processing
About
The Reach payment processing component supports credit card and Paypal payments in the customer's local currency.
Configure Reach and import site metadata to use Reach's payment processing.
Configuration
Customer Groups
Customer groups allow for Reach to be used alongside other payment providers using the session.custom.reachCurrency
attribute to indicate if Reach is in use or not.
Custom Site Preferences
REACH_CREDIT and REACH_ONLINE settings are synchronized, changes in one are copied to the other.
- Payment transaction type sets whether the transaction is captured immediately after authorization or not.
- In the case of delayed capture the capture request will need to be called independently, for example by a 3rd party order management system.
- Accept liability if true, indicates that the merchant will be handling their own fraud and accepts liability for their transactions. If false, indicates that Reach will be handling fraud and will be accepting liability.
Implementation
Script
bc_reach/cartridge/scripts/reach/processor.js
provides the Payment Processor interface for Reach's Payment Gateway features for SFRA and SGJC.
SFRA
int_reach_sfra/cartridge/scripts/hooks/payment/processor/reach_credit.js
and int_reach_sfra/cartridge/scripts/hooks/payment/processor/reach_online.js
are called during the payment flow in the SFRA CheckoutServices controller.
A modified version of the CheckoutServices controller replaces the SFRA controller to add support for two different credit card payment gateways.
SGJC
int_reach/cartridge/scripts/payment/processor/REACH_CREDIT.js
and int_reach/cartridge/scripts/payment/processor/REACH_ONLINE.js
are called during the payment flow in the SGJC COPlaceOrder controller (pipeline).
Template
Modified templates are provided for both SFRA and SGJC
System Object
Order Object
- reach_orderID is the Id of the order in Reach, populated by
processor.js
. - reach_orderState is the state of the order in Reach, populated by Reach notifications.
- reach_consumerCurrency is the order's currency code, populated by
processor.js
. - reach_rate is the rate used to convert prices, populated by
processor.js
. - reach_rateOfferId is the guaranteed offer Id of the rate, populated by
processor.js
. - reach_refunds is a JSON string with all refunds processed, populated by Reach notifications.
Payment Transaction Object
- reach_underReview is a boolean indicating if the order is held by Reach for fraud review. Populated by
processor.js
and updated by Reach notifications.
Order Payment Instrument Object
- reach_contractId is Id of the contract with Reach, if applicable.
- reach_deviceFingerprint is the dynamically generated device fingerprint.
- reach_paymentMethod is Reach's payment method Id.
Customer Payment Instrument Object
- reach_contractId is the ContractId of the saved card details with Reach.
- reach_currencyCode is the currency code in which the saved card can be used.
- reach_paymentMethod is the saved card's payment method Id (ex. VISA, MC, etc).
Updated over 4 years ago