ECommerce

From Kb_JMY(晉明夷)

Jump to: navigation, search

Contents

Payment Gateways

Paypal

PayPal Developer Central

  • PayPal Developer Central account
This account will allow you to use PayPal sandbox environment to test out
  • APIs,
  • Website Payments,
  • Instant Payment Notification (IPN)
  • and other PayPal functionalities.


  • Paypal Developer Forums
Paypal Developer Forum
forum: Payflow Pro and Payflow Link gateway payment products

osCommerce

Switching Languages
The PayPal checkout page is currently based on the language of the merchant's account. Here is a little hack to add the "lc" (language country) variable to the code of the PayPal module in osCommerce and adapt that page to your osCommerce settings.
- Open the source code of the PayPal module (catalog\includes\modules\payment\paypal.php)
- Add/modify the following lines in the process_button function:
function process_button() {

global $order, $currencies, $currency, $language;

if (MODULE_PAYMENT_PAYPAL_CURRENCY == 'Selected Currency') {

 $my_currency = $currency;

} else {

 $my_currency = substr(MODULE_PAYMENT_PAYPAL_CURRENCY, 5);

}

if (!in_array($my_currency, array('CAD', 'EUR', 'GBP', 'JPY', 'USD'))) {

 $my_currency = 'USD';

}

switch ($language) {

 case 'italian': $paypal_lang = 'it'; break;
 case 'espanol': $paypal_lang = 'es'; break;
 case  'french': $paypal_lang = 'fr'; break;
 case  'german': $paypal_lang = 'de'; break;
 case   'dutch': $paypal_lang = 'nl'; break;
 default: $paypal_lang = 'us';

}

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .

                        tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID) .
                        tep_draw_hidden_field('item_name', STORE_NAME) .
                        tep_draw_hidden_field('lc', $paypal_lang) .
                        tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('currency_code', $my_currency) .
                        tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, , 'SSL')) .
                        tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, , 'SSL'));

return $process_button_string;

}

Website Payments Standard

  • Ref:
  1. wp-standard-overview
  2. profile-comparison
  3. feature & price comparision
  4. Complete Feature List

Pricing

  • Pricing @2006_1129(Wed)
  • 2.4% - 3.4% + $2.35 HKD per transaction
  • No monthly fees /Setup fees /Gateway fees
  • Free eBay and web payment tools
  • Antifraud systems at no extra cost
Monthly Sales Price Per Transaction
------------------------------ ---------------------
$0.00 HKD-$25,000.00 HKD 3.4% + $2.35 HKD
$25,000.01 HKD-$75,000.00 HKD 2.9% + $2.35 HKD
$75,000.01 HKD-$750,000.00 HKD 2.7% + $2.35 HKD
> $750,000.00 HKD 2.4% + $2.35 HKD

Payment Processing

  • Customers shop on your website -> Customers pay on PayPal site
  • Accept all major credit cards, debit cards, and PayPal through your website or email
  • Accept multiple currencies (in ISO-4217 Code)
Ref: p.56, PP_WebsitePaymentsStandard_IntegrationGuide.pdf
  1. AUD Australian Dollar
  2. CAD Canadian Dollar
  3. CHF Swiss Franc
  4. CZK Czech Koruna
  5. DKK Danish Krone
  6. EUR Euro
  7. GBP Pound Sterling
  8. HKD Hong Kong Dollar
  9. HUF Hungarian Forint
  10. JPY Japanese Yen
  11. NOK Norwegian Krone
  12. NZD New Zealand Dollar
  13. PLN Polish Zloty
  14. SEK Swedish Krona
  15. SGD Singapore Dollar
  16. USD U.S. Dollar

Customer Checkout Experience

  • Send customers from your website to PayPal-hosted checkout
  • Customize PayPal-hosted checkout with your website's colors and logos

Implementation Options

  • Automate payment processing and build new applications using PayPal Web Services APIs


Website Payments Pro

introduction

  • Pricing @2006_1129(Wed)
  • $20.00 USD monthly No monthly fee until 10/31/2005
  • No setup fees
  • No cancellation fees
  • Transaction Fees: 2.4% to 3.4% + $2.35 HKD†
  • Benefits:
With Website Payments Pro, you get an all-in-one payment solution.
  • Accept credit card payments directly on your website; PayPal remains invisible - so you control the customer experience.
  • And, allow PayPal accountholders to check out fast with saved information, and gain incremental sales from our growing base of more than 100 million user accounts.


Technical Overview


Technical Overview

  • Ref.Links:
  1. Website Payments Standard: Technical Overview
  2. Website Payments Standard
  3. Payflow Link Gateway
  4. Payflow Pro Gateway
  5. Additional Payment Option
  6. Standard Variable Reference
  7. IPN/PDT Variable Reference
  8. API Reference
  9. API Error Codes
  • Ref.Document:
  1. PP_WebsitePaymentsStandard_IntegrationGuide.pdf
  2. Subscriptions and Recurring Payments Guide (PDF)
  3. Order Management Integration Guide (PDF)
  4. Sandbox User's Guide (PDF)
  5. Merchant Overview Guide
  • Developer Support:
  1. PayPal Developer Network (PDN)
  2. Paypal Developer Central
  3. Payal Developer Forum


  • Common Business Scenario
  • Scenario 1. I already have a shopping cart on my site.
  • Scenario 2. I need a shopping cart for my site.
  • Scenario 3. I want to sell one item at a time on my website.
  • Scenario 4. I want to sell subscriptions.
  • Scenario 5. I want to accept donations.
  • or Customize your solution (choose your own features to use)
  • Payment Processing Options:
  • Customer Checkout Features:


Creating Your First "Buy Now" Button

  • Generating the HTML codes
  1. login Paypal -> go Buy now buttons
  2. Fill in your item description, item codes, price, currency,
  3. select buyer's country, button style, button encryption or not.
  4. Click "Create Button Now" -> That's it!
  5. Example Coding Generated for:
Item Name: CMS Website Setup Service
Item#: web001
Price: 618
Currency: USD
Buyer's Country: Hong Kong
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="bills@abc.com">
<input type="hidden" name="item_name" value="CMS Website Setup Service">
<input type="hidden" name="item_number" value="web001">
<input type="hidden" name="amount" value="618.00">
<input type="hidden" name="no_shipping" value="2">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="lc" value="HK">
<input type="hidden" name="bn" value="PP-BuyNowBF">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-butcc.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>


  • if Button Encryption is selected:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-butcc.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
">
</form>


  • Setting Return URL on Individual Transactions
you can set the value of the return URL on each individual transaction, overriding the value you have stored on PayPal. : the return variable in the HTML FORM is, for example:
  • <INPUT TYPE="hidden" NAME="return" value="URLspecificToThisTransaction">


"Auto Return" must be turned on in your Paypal Profile. Enable "Auto Return" as follows:
  • login Paypal -> My Profile -> Selling Preferences -> Website Payment Preferences
  • select "Auto Return" = "ON"


  • Setting Language Encoding On Individual Transactions
Some of the charsets:
  • utf-8
  • Big5 (Traditional Chinese in Taiwan)
  • gb2312 (Simplified Chinese)
  • HZ-GB-2312 (Traditional Chinese in Hong Kong)
Example coding:
  • <INPUT TYPE="hidden" name="charset" value="utf-8">
if not set, language encoding equals Website Language Preference which can be set as follows (assumes: Traditional Chinese (UTF-8))
login Paypal -> My Account -> Profile -> Selling Preferences -> Language Encoding
-> Select Traditional Chinese -> Save (Save the Language first)
-> "More Option" button -> Encoding -> select "UTF-8".
(Ref: p.51, PP_WebsitePaymentsStandard_IntegrationGuide.pdf)


  • Enabling Instant Payment Notification (IPN)
login Paypal -> My Profile -> Selling Preferences -> IPN
Ref: PP_OrderManagement_IntegrationGuide.pdf

Adding Options (Buy Now button /shopping cart button)

  • If all the size options are of the same cost you can simply convert the "item_name" hidden variable into a dropdown field instead. For example this is most likely similar to what is in your code now:
<input type="hidden" name="item_name" value="T-Shirt name M-2XL">


You could replace it with something like the following
<select name="item_name">
<option value="T-Shirt name M-Med">Medium
<option value="T-Shirt name M-L">Large
<option value="T-Shirt name M-XL">X-Large
<option value="T-Shirt name M-2XL">2X-Large

Instant Payment Notification(IPN)

  • Ref.Links:
  1. Instant Payment Notification(IPN)
  2. Payment Data Transfer
  3. "Auto Return"
  4. Testing IPN

FAQ(Paypal)

PayPal Developer Central

  • PayPal Developer Central account
This account will allow you to use PayPal sandbox environment to test out
  • APIs,
  • Website Payments,
  • Instant Payment Notification (IPN)
  • and other PayPal functionalities.


  • Paypal Developer Forums
Paypal Developer Forum
forum: Payflow Pro and Payflow Link gateway payment products



Personal tools