Showing posts with label paypal. Show all posts
Showing posts with label paypal. Show all posts

Tuesday, 31 March 2015

Paypal Integration Interview Questions and Answers

Paypal Integration Interview Questions and Answers
PayPal is an Online Payments System
Online money transfers serve as electronic alternatives to traditional paper methods like checks and money orders. 
PayPal is one of the world's largest internet payment companies.
From: Wikipedia 



Question: When Paypal was founded?
June 1998


Question: Who is CEO of Paypal?
Dan Schulman


Question: What is offical website of Paypal?
www.paypal.com


Question: In which language paypal is written?
C++, JavaScript


Question: What is PayPal Sandbox?
PayPal sandbox is a testing environment of paypal.com. Developer first create account in Sandbox(https://developer.paypal.com/) and integrate the payment with sandbox. After completing all (including testing), then update the API keys.


Question: What is recurring payment?
When Customer pay fixed amount on a regular basis to the merchant is know as recurring payment. For Example: You buy a home and pay some amount on regular basis to bank for x months.


Question: What is Website Payments Standard?
Accept online payments from customers with with OR without PayPal accounts.
In this website, accept credit/debit cards (Visa, MasterCard, American Express and Discover), eChecks, bank transfers, and PayPal accounts.


Question: Is it compulsary to create paypal account for customer, when doing payment with paypal.com?
No, Customer can pay with credit/debit card on paypal.com. He have option to paypal account.


Question: Does paypal support mulitple language?
Yes.


Question: Can we customize the checkout page on paypal.com as per requirement?
Yes, You can customize the logo, item detail and description etc by passing some optional parameter.


Question: What is Paypal Pro Account?
When you want customer must do payment on your website (customer never leave website OR Never redirect to paypal.com) with credit card/debit card.



Question: Can I create payment buttons using an paypal API?
Yes


Question: Does paypal support payment by Mobile?
Yes, https://developer.paypal.com/webapps/developer/docs/classic/products/#mobile


Question: What is PayPal Express Checkout?
PayPal Express Checkout is a powerful API-based solution that can be integrated into any merchant website. With PayPal Express Checkout API, customer leave the merchant website and complete the transaction in paypal.com, where customer can pay with paypal.com OR with credit card / Debit card. When start processing, Paypal gives a TOKEN key which is used to charge money from customer OR get the Payment Details OR Customer Shipping/Billing details. Developer should save this token key for future use. Read More


Question: What is Paypal Adaptive Payment?
Paypal Adaptive Payments is feature of Paypal Pro means you must have Paypal pro account for use this payment method. In this customer can pay with Credit Card/Debit Card/Paypal.com account. While paying with Credit card/Debit card he can also create a account in paypal.com. Adaptive payments handles payments between a sender and one or more receivers. Read more


Question: What are two different types of Adaptive Payment?
  • Adaptive Parallel Payment
  • Adaptive Chain Payment



Question: What is Do-Direct Payment?
Direct Payment lets buyers pay using their credit cards and amount is directly transferred to merchant account.


Question: What is MayPay Payment?
Merchant can send the money to two or more personal in single transaction.


Question: How to create paypal buy now button on paypa.com?
http://www.web-technology-experts-notes.in/2013/02/paypal-buy-now-button.html


Question: What is notify URL in PayPal?
When we send our customer to paypal.com for payment. We send notify_url=http://www.mysite.com/notify_url.php along with price and item detail.
After completing the process PayPal returns data back to our site via what they call IPN (Data is send to the notify_url with post method). Now we save this all data in our database for further inquiry.


Question: What is paypal cancel url?
An mywebsite URL where the user will be returned if payment is cancelled by customer on paypal.com.
Cancel URL send as below:
CANCELURL=http://www.mysite.com/cancel_url.php


Question: Do website need SSL for accepting payments?
Yes, you must have SSL Integration in website.


Question: What are basic information which you must pass to the paypal for every transaction.
Following are different parameter which we must pass.
  • USER
  • PWD
  • SIGNATURE
  • VERSION
  • METHOD
  • PAYMENTACTION



Question: How to add button to get payments?
https://www.paypal.com/cgi-bin/webscr?cmd=_wp-standard-integration-outside#sectiona


Question: From where I can create Sandbox Account?
https://developer.paypal.com/




Thursday, 7 August 2014

PayPal Adaptive Payments - Chain Payment and Parallel Payment

PayPal Adaptive Payments - Chain Payment and Parallel Payment

PayPal Adaptive PaymentsPaypal Adaptive Payments is feature of Paypal Pro means you must have Paypal pro account for use this payment method. In this customer can pay with Credit Card/Debit Card/Paypal.com account. While paying with Credit card/Debit card he can also create a account in paypal.com. Adaptive payments handles payments between a sender and one or more receivers.



There are two types of payments
1. Adaptive Parallel Payment
In this method, customer will pay to two or more vendor at the time. Also customer will be aware of the vendors with what amount they are getting.

Parallel Payment
For Example: Customer buy one product and pay $10 to each vendor, He will see two vendor name in Paypal.com as well as two orders in payment history.

Setup of Parallel Payment
https://developer.paypal.com/docs/classic/adaptive-payments/ht_ap-parallelPayment-curl-etc/


2. Adaptive Chain Payment
In this payment, Customer will see only one vendor name (Primary), He will be totally unaware of other beneficiary. In this case, First all amount will be transfer to primary vendor. then from the primary vendor amount will be deducted and transferred to other beneficiary.
Chain Payment

For Example: In Primary Vendor Payment history there will be n+1 records where n is number of vendor except self. It means if there is total 3 vendor (1 Primary + 2 Secondary), He will get 3 order (1. full payment, 2. Second vendor transfer money, 3. third vendor transfer money). You can set only one primary vendor who will get the money directly from customer other will be secondary get the money from primary vendor and primary vendor can't stop to giving money.

Vendor don't have paypal Account: If vendor don't have paypal account. Paypal will send an email to vendor, then vendor can register with that email and get his payment.





Adaptive payments Add shipping address
https://developer.paypal.com/docs/classic/api/adaptive-payments/SetPaymentOptions_API_Operation/


Example By Snapshots:






Monday, 28 July 2014

Paypal Sandbox do-Directpayment, Authorization, Capture and Mass-payment - Example with Code Snippets

Paypal Sandbox do-Directpayment, Authorization, Capture and Mass-payment

Different Paypal Payment with API example (NVP Operation).
  1. DoDirect Payment - Sale
  2. Authorization - PayPal / Capture - PayPal
  3. Mass Pay
  4. Parallel Payment


Do-Direct Payment:
Direct Payment lets buyers pay using their credit cards and amount is directly transferred to merchant account.
https://developer.paypal.com/docs/classic/paypal-payments-pro/integration-guide/WPDirectPayment/


Payment Authorization:
In this case paypal will not charge immediately from the customer. We will hold the customer amount with the transaction-Id. Further with transaction-Id, we can decide whether charge the amount(Capture amount) OR return the amount to customer (Void Payment).
It have two parts
a. Authorization the customer money and store the transaction Id in our database.
b.  Capture Payment-  Charge the payment from hold amount with use of Transaction Id OR
     Void Payment – Cancel the payment (Return the payment to customer)
https://developer.paypal.com/docs/classic/admin/auth-capture/


MayPay Payment
In this case, One Merchant can send the money to his partner’s paypal email address (Paypal email address), mean each merchant must have paypal account.
https://developer.paypal.com/docs/classic/mass-pay/integration-guide/MassPayOverview/


Parallel Payment
In this case, We transfer the money between two or more partner instead of transferring all money in one merchant Account. This is possible with “Paypal Express Checkout” Method. In this method customer leave our website(like example.com) and redirect to paypal.com website, Here customer will see the all partner details and can pay by credit card/paypal Account. After paying the amount, customer will return back to our website(example.com).
https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECGettingStarted/#id084RM05055Z
https://developer.paypal.com/docs/classic/paypal-payments-pro/integration-guide/WPParallelPaymens/#id09ARE0F405Z




Following are Request and Response of paypal APIs (Please update User, Pwd and Signature, these are dummy)

Sr Operation Method Payment Action Request Sample Response Sample Introduction
1 DoDirectPayment DoDirectPayment Sale
Array
(
    [METHOD] => DoDirectPayment
    [USER] => testname_api1.no-spam.ws
    [PWD] => 55555526677
    [SIGNATURE] => Alsdfdsfafds.zYsROoDYkL2AigOq
    [VERSION] => 95
    [PAYMENTACTION] => Sale
    [IPADDRESS] => 127.0.0.1
    [CREDITCARDTYPE] => MasterCard
    [ACCT] => 5522340006063638
    [EXPDATE] => 092015
    [CVV2] => 123
    [FIRSTNAME] => Aman
    [LASTNAME] => Jaiswal
    [STREET] => Phase+7%2C+Mohali+
    [CITY] => Largo
    [STATE] => Punjab
    [COUNTRYCODE] => US
    [ZIP] => 160055
    [AMT] => 100
    [CURRENCYCODE] => USD
)
Array
(
    [TIMESTAMP] => 2014-07-29T06:24:35Z
    [CORRELATIONID] => 5866bc2f19ac7
    [ACK] => Success
    [VERSION] => 95
    [BUILD] => 11950065
    [AMT] => 100.00
    [CURRENCYCODE] => USD
    [AVSCODE] => X
    [CVV2MATCH] => M
    [TRANSACTIONID] => 4VT01737UB5183903
)
Get the Payment from Buyer to Merchant Account
2 MassPayment MassPay -NA-
Array
(
    [METHOD] => MassPay
    [USER] => testname_api1.no-spam.ws
    [PWD] => 55555526677
    [SIGNATURE] => Alsdfdsfafdsfs.zYsROoDYkL2AigOq
    [VERSION] => 95
    [RECEIVERTYPE] => EmailAddress
    [CURRENCYCODE] => USD
    [L_EMAIL0] => testnamel@no-spam.ws
    [L_AMT0] => 10.00
    [L_EMAIL1] => testname2@no-spam.ws
    [L_AMT1] => 10.00
)
Array
(
    [AUTHORIZATIONID] => 7FU87403AH3981018
    [TIMESTAMP] => 2014-07-29T05:39:09Z
    [CORRELATIONID] => c86dbba49cc4b
    [ACK] => Success
    [VERSION] => 95
    [BUILD] => 11950065
)
Distribute the Payment between 2 more partner
3 DoAuthorization DoDirectPayment authorization
Array
(
    [METHOD] => DoDirectPayment
    [USER] => testname_api1.no-spam.ws
    [PWD] => 55555526677
    [SIGNATURE] => Alsdfdsfafdsf.zYsROoDYkL2AigOq
    [VERSION] => 95
    [PAYMENTACTION] => authorization
    [IPADDRESS] => 127.0.0.1
    [CREDITCARDTYPE] => MasterCard
    [ACCT] => 5522340006063638
    [EXPDATE] => 102015
    [CVV2] => 123
    [FIRSTNAME] => Aman
    [LASTNAME] => Jaiswal
    [STREET] => Phase+8%2C+Mohali+
    [CITY] => Largo
    [STATE] => Punjab
    [COUNTRYCODE] => US
    [ZIP] => 160055
    [AMT] => 124.00
    [CURRENCYCODE] => USD
)
Array
(
    [TIMESTAMP] => 2014-07-29T06:26:30Z
    [CORRELATIONID] => 42ec9f542fc9f
    [ACK] => Success
    [VERSION] => 95
    [BUILD] => 11950065
    [AMT] => 124.00
    [CURRENCYCODE] => USD
    [AVSCODE] => X
    [CVV2MATCH] => M
    [TRANSACTIONID] => 2EY34762VW9685022
)
Authorize(Hold) the payment from Buyer
4 DoCapture DoCapture -NA-
Array
(
    [METHOD] => DoCapture
    [USER] => testname_api1.no-spam.ws
    [PWD] => 55555526677
    [SIGNATURE] => Alsdfdsfafdsf.zYsROoDYkL2AigOq
    [VERSION] => 95
    [AUTHORIZATIONID] => 2EY34762VW9685022
    [IPADDRESS] => 127.0.0.1
    [AMT] => 124
    [CURRENCYCODE] => USD
    [COMPLETETYPE] => Complete
)
Array
(
    [AUTHORIZATIONID] => 2EY34762VW9685022
    [TIMESTAMP] => 2014-07-29T06:28:02Z
    [CORRELATIONID] => 943ba369b948d
    [ACK] => Success
    [VERSION] => 95
    [BUILD] => 11950065
    [TRANSACTIONID] => 0U8601158C887733S
    [PARENTTRANSACTIONID] => 2EY34762VW9685022
    [RECEIPTID] => 3177-5474-1146-7724
    [TRANSACTIONTYPE] => webaccept
    [PAYMENTTYPE] => instant
    [ORDERTIME] => 2014-07-29T06:28:02Z
    [AMT] => 124.00
    [FEEAMT] => 3.90
    [TAXAMT] => 0.00
    [CURRENCYCODE] => USD
    [PAYMENTSTATUS] => Completed
    [PENDINGREASON] => None
    [REASONCODE] => None
    [PROTECTIONELIGIBILITY] => Ineligible
    
Capture money which we have Authorized(Hold)
5 DoVoid DoVoid -NA-
Array
(
    [METHOD] => DoVoid
    [USER] => testname_api1.no-spam.ws
    [PWD] => 55555526677
    [SIGNATURE] => Alsdfdsfafds.zYsROoDYkL2AigOq
    [VERSION] => 95
    [AUTHORIZATIONID] => 9VP549332Y830720W
    [IPADDRESS] => 127.0.0.1
    [AMT] => 124
    [CURRENCYCODE] => USD
    [COMPLETETYPE] => Complete
)
Array
(
    [AUTHORIZATIONID] => 9VP549332Y830720W
    [TIMESTAMP] => 2014-07-29T06:28:52Z
    [CORRELATIONID] => 8a5d49a877bad
    [ACK] => Success
    [VERSION] => 95
    [BUILD] => 11950065
)
Return the Authorized(Holded) Amount to buyer account





Include Paypal Library
class Global_Paypal {

    private $_api_version = '95';
    private $_api_username = 'test_api1.no-spam.ws';//this is dummpy plz update
    private $_api_password = '1406987677';//this is dummpy plz update
    private $_api_signature = 'ARDESpesJftWYRUVq94d7LvquBZIApzl9Jq3wuT.zYsROoDYkL2AigOq';//this is dummpy plz update
    private $_uri = 'https://api-3t.sandbox.paypal.com/nvp';

    
    /** DoDirect Payment - SALE* */
    function doDirectPayment(array $data) {
        $postData = array(
            'METHOD' => 'DoDirectPayment',
            'USER' => ($this->_api_username),
            'PWD' => ($this->_api_password),
            'SIGNATURE' => ($this->_api_signature),
            'VERSION' => ($this->_api_version),
            'PAYMENTACTION' => $data['paymentAction'],
            'IPADDRESS' => $data['ip'],
            'CREDITCARDTYPE' => $data['cctype'],
            'ACCT' => $data['ccno'],
            'EXPDATE' => $data['expdate'],
            'CVV2' => $data['cvv2'],
            'FIRSTNAME' => $data['fname'],
            'LASTNAME' => $data['lname'],
            'STREET' => $data['address'],
            'CITY' => $data['city'],
            'STATE' => $data['state'],
            'COUNTRYCODE' => $data['ccode'],
            'ZIP' => $data['zip'],
            'AMT' => $data['amt'],
            'CURRENCYCODE' => $data['currencycode'],
        );

        try {
            $client = new Zend_Http_Client($this->_uri);
            $postData = array_map('urlencode', $postData);
            $client->setParameterPost($postData);
            $response = $client->request('POST');
            $body = $response->getRawBody();
            parse_str($body, $nvpResponseArray);
            return $nvpResponseArray;
        } catch (Exception $e) {
            echo $e->getMessage();
            die;
        }
    }

    /** Transfer Money to number of peoples - MassPay **/
    function masspayment(array $receiverArray) {
        $postData = array(
            'METHOD' => 'MassPay',
            'USER' => ($this->_api_username),
            'PWD' => ($this->_api_password),
            'SIGNATURE' => ($this->_api_signature),
            'VERSION' => ($this->_api_version),
            'RECEIVERTYPE' => 'EmailAddress',
            'CURRENCYCODE' => 'USD',
        );
        $i = 0;
        foreach ($receiverArray as $emailAddress => $amt) {
            $postData["L_EMAIL{$i}"] = $emailAddress;
            $postData["L_AMT{$i}"] = $amt;
            $i++;
        }
        try {
            $client = new Zend_Http_Client($this->_uri);
            //$postData = array_map('urlencode', $postData);            
            pr($postData);
            $client->setParameterPost($postData);
            $response = $client->request('POST');
            $body = $response->getRawBody();
            parse_str($body, $nvpResponseArray);
            return $nvpResponseArray;
        } catch (Exception $e) {
            echo $e->getMessage();
            die;
        }
    }

    /** DoDirect Payment - Authorization* */
    function doauthPayment(array $data) {

        $postData = array(
            'METHOD' => 'DoDirectPayment',
            'USER' => ($this->_api_username),
            'PWD' => ($this->_api_password),
            'SIGNATURE' => ($this->_api_signature),
            'VERSION' => ($this->_api_version),
            'PAYMENTACTION' => $data['paymentAction'],
            'IPADDRESS' => $data['ip'],
            'CREDITCARDTYPE' => $data['cctype'],
            'ACCT' => $data['ccno'],
            'EXPDATE' => $data['expdate'],
            'CVV2' => $data['cvv2'],
            'FIRSTNAME' => $data['fname'],
            'LASTNAME' => $data['lname'],
            'STREET' => $data['address'],
            'CITY' => $data['city'],
            'STATE' => $data['state'],
            'COUNTRYCODE' => $data['ccode'],
            'ZIP' => $data['zip'],
            'AMT' => $data['amt'],
            'CURRENCYCODE' => $data['currencycode'],
        );

        try {
            /** Get the Transaction Id * */
            $client = new Zend_Http_Client($this->_uri);
            $postData = array_map('urlencode', $postData);
            $client->setParameterPost($postData);
            $response = $client->request('POST');
            $body = $response->getRawBody();
            parse_str($body, $nvpResponseArray);
            /** Get the Transaction Id * */
            if (!empty($nvpResponseArray['TRANSACTIONID'])) {
                return $nvpResponseArray;
            } else {
                pr($nvpResponseArray);
                die("TransactionId is empty");
            }

            return $nvpResponseArray;
        } catch (Exception $e) {
            echo $e->getMessage();
            die;
        }
    }

    /** DoCapture* */
    function doCapturePayment($data = array()) {
        $postData = array(
            'METHOD' => 'DoCapture',
            'USER' => ($this->_api_username),
            'PWD' => ($this->_api_password),
            'SIGNATURE' => ($this->_api_signature),
            'VERSION' => ($this->_api_version),
            'AUTHORIZATIONID' => $data['TransactionID'],
            'IPADDRESS' => $data['ip'],
            'AMT' => $data['amt'],
            'CURRENCYCODE' => $data['currencycode'],
            'COMPLETETYPE' => 'Complete'
        );
        try {
            pr($postData);
            /** Get the Transaction Id * */
            $client = new Zend_Http_Client($this->_uri);
            $postData = array_map('urlencode', $postData);
            $client->setParameterPost($postData);
            $response = $client->request('POST');
            $body = $response->getRawBody();
            parse_str($body, $nvpResponseArray);
            pr($nvpResponseArray);
            die;
            /** Get the Transaction Id * */
            if (!empty($nvpResponseArray['TRANSACTIONID'])) {
                return $nvpResponseArray;
            } else {
                pr($nvpResponseArray);
                die("TransactionId is empty");
            }

            return $nvpResponseArray;
        } catch (Exception $e) {
            echo $e->getMessage();
            die;
        }
    }

}



Following are different functions which you can used to achieve above actions


  1. doDirectPayment: DoDirect Payment - Sale
  2. masspayment: Mass Pay
  3. doauthPayment: Authorization - PayPal
  4. doCapturePayment: Capture - PayPal

class PaypalController extends Zend_Controller_Action {


    /** DoDirect Payment - SALE* */
    public function indexAction() {

        /** Sample Data* */
        /** set Data  * */
        $amount = 100.00;
        $creditCardType = 'MasterCard';
        $creditCardNumber = '5522340006063638';
        $expirationMonth = '09';
        $expirationYear = '2015';
        $cvv2 = '123';
        $firstName = 'Aman';
        $lastName = 'Jaiswal';
        $address1 = 'Phase 7, Mohali';
        $address2 = '';
        $city = 'Largo';
        $state = 'Punjab';
        $zip = '160055';
        $postData = array();
        $countryCode = 'US';
        $currencyCode = 'USD';
        $ipAddress = $_SERVER['REMOTE_ADDR'];
        /** set Data * */
        $postData = array(
            'paymentAction' => 'Sale',
            'ip' => $_SERVER['REMOTE_ADDR'],
            'cctype' => $creditCardType,
            'ccno' => $creditCardNumber,
            'expdate' => "{$expirationMonth}{$expirationYear}",
            'cvv2' => urlencode($cvv2),
            'fname' => $firstName,
            'lname' => $lastName,
            'address' => $address1 . ' ' . $address2,
            'city' => $city,
            'state' => $state,
            'ccode' => $countryCode,
            'zip' => $zip,
            'amt' => $amount,
            'currencycode' => $currencyCode,
            'DESC' => 'Testing Payments Pro'
        );

        $paypal = new Global_PayPal();
        $result = $paypal->doDirectPayment($postData);        
        print_r($result);
        die;        
        /** Sample Data* */        
        
    }

    /** Transfer Money to number of peoples - MassPay **/
    function masspayAction() {
        $paypal = new Global_PayPal();
        $receiverArray = array(
            'ajit@no-spam.ws' => '10.00',
            'ajit@no-spam.ws' => '10.00',
        );        

        $result = $paypal->masspayment($receiverArray);
        print_r($result);die;
        
    }
    
      /** DoDirect Payment - Authorization* */
    public function authAction() {
        
        /** set Data  * */
        $amount = '124.00';
        $creditCardType = 'MasterCard';
        $creditCardNumber = '5522340006063638';
        $expirationMonth = '10';
        $expirationYear = '2015';
        $cvv2 = '123';
        $firstName = 'Aman';
        $lastName = 'Jaiswal';
        $address1 = 'Phase 8, Mohali';
        $address2 = '';
        $city = 'Largo';
        $state = 'Punjab';
        $zip = '160055';
        $postData = array();
        $countryCode = 'US';
        $currencyCode = 'USD';
        $ipAddress = $_SERVER['REMOTE_ADDR'];
        $transActionId = '8f4de96650a85';
        /** set Data * */
        $postData = array(            
            'paymentAction' => 'authorization',
            'ip' => $_SERVER['REMOTE_ADDR'],
            'cctype' => $creditCardType,
            'ccno' => $creditCardNumber,
            'expdate' => "{$expirationMonth}{$expirationYear}",
            'cvv2' => urlencode($cvv2),
            'fname' => $firstName,
            'lname' => $lastName,
            'address' => $address1 . ' ' . $address2,
            'city' => $city,
            'state' => $state,
            'ccode' => $countryCode,
            'zip' => $zip,
            'amt' => $amount,
            'currencycode' => $currencyCode,            
        );

        $paypal = new Global_PayPal();
        $result = $paypal->doauthPayment($postData);        
        print_r($result);
        die;
        /** Sample Data* */        
        // action body
    }   
    
    /** DoCapture* */
    function captureAction(){
        $postData = array(            
            'paymentAction' => 'DoCapture',
            'ip' => $_SERVER['REMOTE_ADDR'],           
            'amt' => 124,
            'currencycode' => 'USD',            
            'TransactionID' => '49760658JE805135N',
        );

        $paypal = new Global_PayPal();
        $result = $paypal->doCapturePayment($postData);        
        print_r($result);
        die;
        
    }

}



Tuesday, 5 February 2013

Paypal Buy Now Button

Paypal Buy now Button


How to create paypal "paynow" html button.

To create a button you must have an paypal account in which money will transfer.

1) Login to paypal website

Paypal Login Form
Add caption

2) Click on "Merchant Services"
Merchant Services

3) Click on "Website Payment Standard"


4)Click on "Give it a try"


5) Fill few field and create button



6) Button is created

7) Want HTML Code
<form action="https://www.paypal.com/in/cgi-bin/webscr" method="post" name="_xclick"> 
<input name="cmd" type="hidden" value="_xclick" />
<input name="business" type="hidden" value="youremailaddress" />
<input name="currency_code" type="hidden" value="USD" />
<input name="item_name" type="hidden" value="Item Name" />
<input name="amount" type="hidden" value="5.00" />
<input alt="Make payments with PayPal - it's fast, free and secure!" border="0" name="submit" src="http://www.paypal.com/en_GB/i/btn/x-click-but01.gif" type="image" />
</form>



Sunday, 15 July 2012

What is Paypal


PayPal is a global e-commerce business allowing payments and money transfers to be made through the Internet. Online money transfers serve as electronic alternatives to paying with traditional paper methods, such as checks and money orders.

Originally, a PayPal account could be funded with an electronic debit from a bank account or by a credit card at the payer's choice. But some time in 2010 or early 2011, PayPal began to require a verified bank account after the account holder exceeded a predetermined spending limit. After that point, PayPal will attempt to take funds for a purchase from funding sources according to a specified funding hierarchy. If you set one of the funding sources as Primary, it will default to that, within that level of the hierarchy (for example, if your credit card ending in 4567 is set as the Primary over 1234, it will still attempt to pay money out of your PayPal balance, before it attempts to charge your credit card). The funding hierarchy is (1) a balance in the PayPal account; (2) a PayPal credit account, PayPal Extras, PayPal SmartConnect, PayPal Extras MasterCard or Bill Me Later (if selected as primary funding source) (It can bypass the Balance); (3) a verified bank account; (4) other funding sources, such as non-PayPal credit cards.


Tuesday, 6 September 2011

Paypal return error : malformed

Paypal return error : malformed

Problem:
Hi,
I am using payapl gateway for payment in my project.
It is working fine for sandbox(test account) but no working for paypal (original paypal detail on client server);
It return following errror from paypal
  Array
    (
        [Error] => Array
            (
                [Number] =>  malformed
            )

    )





Solution: When you are sending amount(money) in paypal api, Amount must be upto  2 digit decimal places. 

For Example
100.02  (Valid)
22.32 (Valid)
12.254 (invalid)