DocumentationAPI Reference
Documentation

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.

800

Customer group for customers using base currency

799

Customer group for customers using Reach currency

Custom Site Preferences

REACH_CREDIT and REACH_ONLINE settings are synchronized, changes in one are copied to the other.

850

Site Preferences: Merchant Tools > Site Preferences > Custom Site Preference Groups > REACH_CREDIT

  • 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

577
  • 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).