Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Overview

 

Payment methods refer to choice of payment options available to customer when placing an order. In most cases payment method relies on a third party system (payment gateway) to complete the financial transaction. Although financial operations are fairly standardised and well understood each payment gateway offers unique API to accomplish this. Therefore payment API in YC is composed of two parts:

  • core payment API, which is fully integrated with YC order life cycle, dealing with standard approaches to transactions
  • payment modules, which are payment gateway specific implementations that drive the standard operations.

YC has a number of payment modules implementation provided out of the box with flexibility to add new implementations with ease.

Once the platform up and running all payment modules are automatically detected and contribute to the payment gateways configuration in YC. Through system payment gateway panel business user can enable and disable payment gateways at the platform level. Shop managers when configuring shop instance can choose from the list of platform enabled payment gateways and configure them with shop specific parameters.

Payment gateway parameters are predefined by the payment module, so all that is necessary to enable payment methods for shop is to setup these values, which usually involves entering merchant keys or IDs.

The following payment gateway modules are supported out of the box (with few featured highlighted):

Module Payment method YC version EoL Online External Callback Per Shipment AUTH CAPTURE AUTH_CAPTURE RETURN 
Core            
 Payment to courier 3.0.0+  offline    (tick) (tick) (tick)  (tick)
 Pre paid (external payments) 3.0.0+  offline       (tick) (tick)
 In store 3.0.0+  offline    (tick) (tick) (tick)  (tick)
 Test (card) 3.0.0+  online mock    (tick) (tick) (tick) (tick) (tick)
 TestExt (card) 3.0.0+  online mock  (tick)base callback filter  (tick) (tick) (tick) (tick) (tick)
 Invoice 3.5.0+  offline       (tick) (tick)
 Invoice with Authorisation 3.5.0+  offline    (tick) (tick) (tick)  (tick)
 No payment required 3.7.0+  online       (tick) (tick)
Authorize.net            
 AIM 3.0.0+  online    (tick) (tick) (tick) (tick) (tick)
 SIM 3.0.0+  online  (tick)AuthorizeNetSimPaymentOkPage     (tick) 
CyberSource            
 CyberSource 3.0.0+  online    (tick) (tick) (tick) (tick) (tick)
PayPal            
 PayPal Button 3.1.0+  online  (tick)base callback filter     (tick) 
 PayFlow (error) 3.0.0+ 3.0.0 online     (tick) (tick) (tick) (tick) 
 PayPal Express 3.0.0+  online  (tick)PayPay express callback filter     (tick)

 (tick) 3.1.0+

 PayPal NPV (error) 3.0.0+ 3.0.0 online    (tick) (tick) (tick)  (tick)
 PayPal Pro 3.1.0+  online    (tick) (tick) (tick)  (tick)
LiqPay            
 LiqPay (full) 3.0.0+  online  (tick)base callback filter     (tick) 
 LiqPay (no refund) 3.0.0+  online  (tick)base callback filter     (tick) 
PostFinance            
 PostFinance 3.1.0+  online  (tick)base callback filter     (tick) 

Payment Gateway Management

 

Payment gateways list loaded into this panel is composed of automatically resolved payment gateways modules installed on current instance. The installation process is very simple and involves specifying few maven profile parameters during build.

When this list is loaded system administrator can select which modules are enabled or disabled by clicking "on" and "off" buttons. If a payment gateway does not appear in this list then it is highly possible that this module was not added to the build, otherwise all payment gateways will appear in this list loaded from bundled modules. 

Each payment gateway has predefined attributes, which can be viewed by clicking "Attributes" button when payment gateway is selected. Note that these parameters are templates - the actual values are set when configuring payment gateway for shop instance.

There is however an option to add additional attributes to template by clicking "New attribute" button. This allows to add new attributes such as new localisation for HTML form when new language is added.

After new attribute is added to the system payment templates the shop payment gateway has to be turned "off" and then back "on" for new attribute to appear in shop specific settings.

As of 3.4.0+ this view uses "Secure" feature, which means that by default only non-secure parameters are loaded. If you want to see all parameters you have to click the "lock" button. Then you will see all attributes available for payment gateway in the attribute view.

Payment gateway eligibility

 

Payment gateways are directly influenced by shipping method configuration. The anticipation is that the kind of shipping method (i.e. carrier SLA) is the main driver for the payment eligibility.

For example if the shipping method is "collect from shop" it would make sense to display "Payment in shop" payment method, but not for say "Home delivery".

Carrier SLA configurations contain selection for payment gateways available to those SLA.

As of  3.6.0 and additional customer level restriction is available for payment gateways via "tagging" mechanism. Payment gateways have "restrictToCustomerTags" parameter which is a CSV of eligible customer tags. When filled in this parameter which contain use of given payment method only to customer that have at least one matching tag.

  Note that restrictToCustomerTags is CSV and expects values separated by comma (e.g. "tag1,tag2"), whereas customer tags property expects tags separated by space (e.g. "tag2 othertag tag4") 

Payment gateway sorting

 

By default payment methods are sorted alphabetically by their language specific name. However if manual sorting is required then "priority" parameter can be used to sort them. 

Note that if priorities of payment gateways are the same then sorting is done alphabetically. This is very useful when a particular payment method can be set higher priority to be at the top and then rest of the methods do not need to be adjusted and will be sorted in natural order.

 

Workshops

Activating payment modules ( 5:45 )
Part 1
 

Enabling payment methods in your shop (basics) ( 4:57 )
Part 2
 

Payment Gateway Specific Configurations

 

Authorize.net

To create test account go to http://developer.authorize.net/hello_world/sandbox/ and fill in the form.

After registration is completed you will be provided with:

  1. API Login ID
  2. Transaction Key
  3. MD5 Hash Key

You can login to your test account from here https://sandbox.authorize.net

Key points about your test account:

  • API Login ID and Transaction Key can be viewed in "Settings > Security Settings > API Login ID and Transaction Key"
  • MD5 Hash Key can be reset in "Settings > Security Settings > MD5 Hash"
  • For SIM Receipt Page and Relay Response URL must be configured in "Settings > Security Settings > Receipt Page" and "Settings > Security Settings > Relay Response" respectively.
  • Relay Response is what is used as transaction callback and its response is rendered as confirmation page back to the customer after clicking "Pay" button.

Enabling Authorize.NET (AIM & SIM) ( 7:09 )
Enabling Authorize.NET (AIM & SIM)
 

 

AIM

Key configurations for AIM

Configuration Mandatory Notes 
Merchant login  (tick)API Login ID from your Authorize.NET account 
Transaction key  (tick)Transaction Key from your Authorize.NET account 
Environment name  (tick)test - "SANDBOX"
production - "PRODUCTION" 

SIM

  

SIM account is currency specific, so you will not be able to provide different currency when paying with this method. You can configure the currency in the processor settings section

Key points for SIM

Configuration Mandatory Notes 
Merchant login (tick)API Login ID from your Authorize.NET account 
Transaction key (tick) Transaction Key from your Authorize.NET account 
MD5 Hash Key (tick)MD5 Hash Key from your Authorize.NET account used to verify transaction callback 
URL to post form (tick)test - "https://test.authorize.net/gateway/transact.dll"
production - "https://secure.authorize.net/gateway/transact.dll
Relay Response URL (tick)must be set to the "https://www.yourdomain.com/yes-shop/anetsimresult".
Note: that this page must be served via HTTPS and it processes the transaction callback.
Note: "/anetsimresult" is mounted to AuthorizeNetSimPaymentOkPage in "wicket.xml" 
SIM test request flag (tick)test transaction - TRUE
actual transaction - FALSE 
Payment form  There is a number of parameters that SIM supports to modify look and feel of the external payment form.
Recommended "Order cancel URL" is "http://www.yourdomain.com/yes-shop/paymentresult?hint=cancel". 

CyberSource

To create test account go to http://www.cybersource.com/register/ and fill in the form.

After registration is completed you will be provided with:

  1. Organization ID
  2. Link to activate Merchant Admin account   

    You need this account to generate the p12 key
  3. Link to activate Account Admin account

You can login to your test account from here https://ebctest.cybersource.com

Key points about your test account:

  • If you have capital letters in your Organization ID they will be converted to lower case (be aware of this)
  • Generating p12 certificate is done from Login to Merchant Admin > Account Management > Transaction Security Keys > Security Keys for the Simple Order API
  • You need to allow applet in order to save the certificate. Certificate name will be Organization ID with p12 extension.
  • p12 certificate is 2048-bit, so java SDK security must have "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files" installed.
  • on some JDK8 due to classloader bug you may need to copy bcprov-ext-jdk15on.jar into JAVA_HOME/jre/lib/ext if you get "error constructing MAC: java.security.InvalidAlgorithmParameterException: inappropriate parameter type: javax.crypto.spec.PBEParameterSpec"
  • Cybersource uses AVS, so address must be correct for payments to go through.

 

Part 4 Enabling CyberSource ( 7:23 )
Enabling CyberSource
 

Key configurations for AIM

Configuration Mandatory Notes 
Merchant id (tick)

Organization ID from your Cybersource Merchant Admin account account.

Be careful with letter case 
Send to production (tick) false - SANDBOX
true - PRODUCTION 
Abstract path to directory with keys (tick)

Directory where p12 file will be placed on the server.  

(warning) Do not rename this file as filename is expected to match Organization ID
(warning) Encryption is 2048-bit so ensure that JCE policies are installed in java SDK
 (warning) It is recommended to set read only permissions of p12 files 

 

Enable log  Optional parameter to trace SOAP communication for payment.
(warning)  Must be disabled for production 
Absolute path to log directory  Path to log directory, when "Enable log" is set 
Cybersource API version  (tick)Verified "1.28" 
Use apache HHTP client for communication  (tick)true by default 

PayPal

  • No labels