How to Integrate Paypal with SAP
Today, we have a guest author. Her name is Noriko Chandler and she is a Paymetric and SAP Credit Card expert. I met Noriko some years ago on a project. She was the Paymetric consultant and she really knows her stuff. A few months ago, I asked her if she would be interested in adding an article on setting up PayPal with SAP and I am glad to say, she agreed.
I know I use PayPal all the time, as it limits the number of sites that have my credit card information. There are very few business to consumer (B2C) sites today that do not offer PayPal. So it makes sense that this will become a much more common integration scenario for B2C. Without further ado, here is Noriko.
I have noticed quite a few questions here on how to integrate PayPal with SAP system. I have also noticed that PayPal is spreading very quickly to merchants. Here is what you need to know to integrate PayPal with SAP.
Implementing PayPal to SAP is almost identical with implementing standard Payment Card such as VISA and MasterCard. There are no additional rule breaking modification needed. The challenge comes in when a merchant is also trying to integrate BillMeLater (BML) - which is an optional PayPal feature. Since PayPal and BML come in as a set from PayPal Business interest, businesses would typically decide to implement both at the same time. However, BML requires additional data that may lead to core modification.
Because of this, we will not go into BML and we will only focus on PayPal integration. I will possibly add another article concerning BML integration if there is enough interest expressed in the comments.
Getting Started with PayPal
The first step is to create a merchant account with PayPal. Go to www.paypal.com and choose “business” account. Going through their website, you will be given information to make certain decisions. Once you have the merchant account set up, the following activities can be expected:
- Create a PayPal Developer Account. Go to https://developer.paypal.com/ and click the "Sign Up Now" button.
- Create a PayPal Seller Account in the test environment (Sandbox). Go to the home page of your developer account. From the home page select “Create a pre-configured buyer or seller account.” Note the Login e-mail and password.
- Create a PayPal Buyer Account in the test environment (Sandbox). Go to the home page of your developer account. From the home page select “Create a pre-configured buyer or seller account.” Note the Login e-mail and password.
Creating Your PayPal Live Account
Once you have created all the necessary accounts, you will need a “Live account” to send and receive the test data. Below are the high level steps:
- Compile the information required for your PayPal Live Account. You will receive “PayPal Live Configuration Data Sheet” attached to your welcome e-mail. The information on the sheet will be required to create your Live PayPal account in conjunction with your Account Manager.
- Contact your PayPal Account Manager to create your Live Account.
- Review the PayPal Account Configuration with your PayPal Engagement Manager. “PayPal Account Configuration Questionnaire” will be attached to your welcome e-mail. This document will assist PayPal in configuring your account to reflect your unique business processes.
- Download the Certificate for your Live PayPal Account and log in to your seller account and select Profile/API Access. Contact your PayPal Account Manager for assistance. For large merchants PayPal requires certificates. Small merchants do not require certification but Signatures which is explained in Integration guide.
Testing and Certification
- Certification Review Meeting is conducted by Certification Analyst in a weekly call near go-live.
- Merchant tests in Sandbox. PayPal can review your test transactions in real time if you encounter unusual behavior.
- Live certification typically includes 2 transactions, one each from button and payment page.
- Conduct user interface review via Webex or direct access to the merchant’s test region by PayPal.
- See certification guide for details.
PayPal Authorization Validity Period
The time period that a PayPal authorization is valid for,
is configurable and can range between 3 to 10 days.
Choose your Authentication Provider and Gateways
PayPal recommends using Paymetric as its gateway on their own gateway Payflow Pro with SAP https://www.paypal.com/cgi-bin/webscr?cmd=xpt/Marketing/merchant/EnterpriseIntegration-outside . As a merchant would do to accept payment cards, PayPal payment will also require connection to a gateway/processor. “Payflow Pro “ would be the gateway for PayPal Gateway. SAP data structures are different from Payflow Pro data structures. Merchants need a middleware that can re-map data for each other. This is where the value of Paymetric comes in. Paymetric already has the mapping done. If your business decides to design own middleware, that is also possible and many companies do. My two cents are that it may be more expensive in a long run to create your own middleware and maintain.
Some merchants also choose to add an additional authentication provider, such as Cardinal Commerce. Cardinal Commerce is the one I have experience with, but I am sure that there are some other authentication provider that offer a similar service.
Have Web Service Set Up to Re-direct to PayPal
If you are a PayPal user, you may notice that you are directed to PayPal website once from the merchant’s shopping cart, log in to the PayPal account, confirm the amount, and then re-directed to the merchant web store to complete the check out. This will be the same process when you integrate PayPal to your SAP system. It is necessary to set up web service call from the payment page and comeback with the authentication information. This authentication information must be passed to Settlement that happens in SAP FI module.
First, we must decide where the authorization happens. Below are four diagrams that cover most of the authorization scenarios. There are two major origination points, ECC and CRM. There also are also two major authorization points, either from Web Store or SAP.
Authorization through Web Shop connected to ECC
Authorization through ECC for Web Shop connected ECC
Authorization through Web Shop connected to CRM
Authorization through CRM for Web Shop connected to CRM
PayPal can be integrated with SAP standard Cross Application Payment Card Interface (CA-PCI), and there is no additional customization for minimum requirements.
However, be aware that most business has unique scenarios and require some customization, not for connection to PayPal, but to accommodate the business needs in your SAP system.
SAP-CRM system simply stores the information and sends it to ECC via an IDoc. It does not perform the PayPal authorization. The order is replicated to ECC in real time, and any subsequent authorizations such as split delivery and backorders must occur in ECC.
No additional values are required by Cardinal Centinel to accept alternate payment method are needed for re-authorizations as the Pseudo Card number works as the Cardinal Order ID.
The basic IDoc data type is CRMXIF_BUSTRANS and the structure is ZCRMXIF_ORDER_SAVE01.
The structure contains the following Dataset and the highlighted structures are relevant for PayPal process.
The inbound function module for message type CRMXIF_ORDER_SAVE_M is APPL_IDOC_INPUTM.
Address and email
Address and email
Card and authorization information
FREIGHT for Shipping Charge
Within the above dataset E101CRMXIF_PAYPLAN_X, the segment E101CRMXIF_PAYPLAN_D will be used for the detailed credit card data feed.
Any Bill-to information will utilize Cardholder field existing in standard SAP CRM. Ship-to related information will be store in Ship-to field in standard SAP CRM.
NOTE: For PayPal methods, the Credit Card Number field will contain a value called a Pseudo Card Number, also referred to as a Cardinal Order ID if you are using Cardinal Commerce as the authentication providor. This value will be obtained from Cardinal Commerce at the time of order entry in the website and remain with the PayPal payment transaction throughout the fulfillment of the order. This value can be encrypted in SAP CRM and ECC just like all other credit card numbers in the system, but it is not necessary as they are Order ID.