over 10 years ago
This code use to deduct amount automatically from paypal buyers account. It is something like advance payment mode. If user agree with automatically deduction when he / she paying through paypal then amount will deduct according to billing period.
//step1. include paypal.class.php file (find attached file)
- include_once('paypal.class.php');
- $objPaypal = new MyPayPal();
- $PayPalMode = 'sandbox'; // sandbox or live
- $PayPalApiUsername = 'xxxxxxxxx'; //PayPal API Username
- $PayPalApiPassword = 'xxxxxxxxx'; //Paypal API password
- $PayPalApiSignature = 'xxxxxxxx'; //Paypal API Signature
- $PayPalCurrencyCode = 'USD'; //Paypal Currency Code
- $PayPalReturnURL = 'http://localhost/payapl_requirring/createRecurringPaymentsProfile.php'; //Point to process.php page
- $PayPalCancelURL = 'http://localhost/payapl_requirring/cancel_url.php'; //Cancel URL if user clicks cancel
include_once('paypal.class.php'); $objPaypal = new MyPayPal(); $PayPalMode = 'sandbox'; // sandbox or live $PayPalApiUsername = 'xxxxxxxxx'; //PayPal API Username $PayPalApiPassword = 'xxxxxxxxx'; //Paypal API password $PayPalApiSignature = 'xxxxxxxx'; //Paypal API Signature $PayPalCurrencyCode = 'USD'; //Paypal Currency Code $PayPalReturnURL = 'http://localhost/payapl_requirring/createRecurringPaymentsProfile.php'; //Point to process.php page $PayPalCancelURL = 'http://localhost/payapl_requirring/cancel_url.php'; //Cancel URL if user clicks cancel
//step 2.
- $padata = '&METHOD=SetExpressCheckout'.
- '&RETURNURL='.urlencode($PayPalReturnURL).
- '&CANCELURL='.urlencode($PayPalCancelURL).
- '&PAYMENTREQUEST_0_PAYMENTACTION='.urlencode("Authorization").
- '&L_PAYMENTREQUEST_0_ITEMCATEGORY0=Digital'.
- '&L_PAYMENTREQUEST_0_NAME0=xyz'.
- '&L_PAYMENTREQUEST_0_NUMBER0=132456'.
- '&L_PAYMENTREQUEST_0_DESC0=xyz'.
- '&L_PAYMENTREQUEST_0_AMT0=12'.
- '&L_PAYMENTREQUEST_0_QTY0=1'.
- '&PAYMENTREQUEST_0_AMT=12'.
- '&L_BILLINGTYPE0=RecurringPayments'.
- '&L_BILLINGAGREEMENTDESCRIPTION0=12.00 per month';
- //'&L_PAYMENTTYPE0 = Any';
- $request = $objPaypal->PPHttpPost('SetExpressCheckout', $padata, $PayPalApiUsername, $PayPalApiPassword, $PayPalApiSignature, $PayPalMode);
$padata = '&METHOD=SetExpressCheckout'. '&RETURNURL='.urlencode($PayPalReturnURL). '&CANCELURL='.urlencode($PayPalCancelURL). '&PAYMENTREQUEST_0_PAYMENTACTION='.urlencode("Authorization"). '&L_PAYMENTREQUEST_0_ITEMCATEGORY0=Digital'. '&L_PAYMENTREQUEST_0_NAME0=xyz'. '&L_PAYMENTREQUEST_0_NUMBER0=132456'. '&L_PAYMENTREQUEST_0_DESC0=xyz'. '&L_PAYMENTREQUEST_0_AMT0=12'. '&L_PAYMENTREQUEST_0_QTY0=1'. '&PAYMENTREQUEST_0_AMT=12'. '&L_BILLINGTYPE0=RecurringPayments'. '&L_BILLINGAGREEMENTDESCRIPTION0=12.00 per month'; //'&L_PAYMENTTYPE0 = Any'; $request = $objPaypal->PPHttpPost('SetExpressCheckout', $padata, $PayPalApiUsername, $PayPalApiPassword, $PayPalApiSignature, $PayPalMode);
//step 3. redirect to checkout page.
- $request = explode('&',$request);
- $request = explode('=',$request[0]);
- $token = $request[1];
- $paypalurl ='https://www'.$paypalmode.'.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token='.$token.'';
- header('Location: '.$paypalurl);
- //step4. create file createRecurringPaymentsProfile.php and enter below code
- include_once('paypal.class.php');
- $objPaypal = new MyPayPal();
- $PayPalMode = 'sandbox'; // sandbox or live
- $PayPalApiUsername = 'xxxxxxxxx'; //PayPal API Username
- $PayPalApiPassword = 'xxxxxxxxx'; //Paypal API password
- $PayPalApiSignature = 'xxxxxxxx'; //Paypal API Signature
- $PayPalCurrencyCode = 'USD'; //Paypal Currency Code
- $paypalmode = ($PayPalMode=='sandbox') ? '.sandbox' : '';
- $padata = '&Method=GetExpressCheckoutDetails&TOKEN='.$_GET['token'];
- $request = $objPaypal->PPHttpPost('GetExpressCheckoutDetails', $padata, $PayPalApiUsername, $PayPalApiPassword, $PayPalApiSignature, $PayPalMode);
- $request = explode('&', $request);
- $arrData = array();
- foreach($request as $payData){
- $payData = explode('=',$payData);
- $arrData[$payData[0]] = $payData[1];
- }
- if(!empty($arrData)){
- $padata = '&TOKEN='.urlencode($_GET['token']).
- '&PAYERID='.urlencode($_GET['PayerID']).
- '&PAYMENTREQUEST_0_PAYMENTACTION='.urlencode("SALE").
- '&BUTTONSOURCE = AngellFreeInc_USBSwiper_EC_US'.
- //set item info here, otherwise we won't see product details later
- '&L_PAYMENTREQUEST_0_NAME0=xyz'.
- '&L_PAYMENTREQUEST_0_NUMBER0=132456'.
- '&L_PAYMENTREQUEST_0_DESC0=asfasdfsf'.
- '&L_PAYMENTREQUEST_0_AMT0=12'.
- '&L_PAYMENTREQUEST_0_QTY0=1'.
- '&PAYMENTREQUEST_0_ITEMAMT=12'.
- '&PAYMENTREQUEST_0_TAXAMT=0'.
- '&PAYMENTREQUEST_0_SHIPPINGAMT=0'.
- '&PAYMENTREQUEST_0_HANDLINGAMT=0'.
- '&PAYMENTREQUEST_0_SHIPDISCAMT=0'.
- '&PAYMENTREQUEST_0_INSURANCEAMT=0'.
- '&PAYMENTREQUEST_0_AMT=12'.
- '&PAYMENTREQUEST_0_CURRENCYCODE='.urlencode($PayPalCurrencyCode);
- $request = $objPaypal->PPHttpPost('DoExpressCheckoutPayment', $padata, $PayPalApiUsername, $PayPalApiPassword, $PayPalApiSignature, $PayPalMode);
- $request = explode('&', $request);
- $arrData1 = array();
- foreach($request as $payData){
- $payData = explode('=',$payData);
- $arrData1[$payData[0]] = $payData[1];
- }
- if(!empty($arrData1)){
- $date = (date('d')+1);
- $padata = '&TOKEN='.urlencode($_GET['token']).'&PROFILESTARTDATE='.urlencode( date("Y-m-").$date .'T'.date("H:i:s"). 'Z' ).'&DESC=12.00 per month&BILLINGPERIOD=Month&BILLINGFREQUENCY=12&AMT=12.00&CURRENCYCODE=USD&L_PAYMENTREQUEST_0_ITEMCATEGORY0=Digital&L_PAYMENTREQUEST_0_NAME0=xyz&L_PAYMENTREQUEST_0_DESC0=asfasdfsf&L_PAYMENTREQUEST_0_AMT0=12.00&L_PAYMENTREQUEST_0_QTY0=1&EMAIL=harryalm54@gmail.com';
- $request = $objPaypal->PPHttpPost('CreateRecurringPaymentsProfile', $padata, $PayPalApiUsername, $PayPalApiPassword, $PayPalApiSignature, $PayPalMode);
- $request = explode('&', $request);
- $arrData1 = array();
- foreach($request as $payData){
- $payData = explode('=',$payData);
- $arrData1[$payData[0]] = urldecode($payData[1]);
- }
- print_r($arrData1);
- }
- //step last
- }
$request = explode('&',$request); $request = explode('=',$request[0]); $token = $request[1]; $paypalurl ='https://www'.$paypalmode.'.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token='.$token.''; header('Location: '.$paypalurl); //step4. create file createRecurringPaymentsProfile.php and enter below code include_once('paypal.class.php'); $objPaypal = new MyPayPal(); $PayPalMode = 'sandbox'; // sandbox or live $PayPalApiUsername = 'xxxxxxxxx'; //PayPal API Username $PayPalApiPassword = 'xxxxxxxxx'; //Paypal API password $PayPalApiSignature = 'xxxxxxxx'; //Paypal API Signature $PayPalCurrencyCode = 'USD'; //Paypal Currency Code $paypalmode = ($PayPalMode=='sandbox') ? '.sandbox' : ''; $padata = '&Method=GetExpressCheckoutDetails&TOKEN='.$_GET['token']; $request = $objPaypal->PPHttpPost('GetExpressCheckoutDetails', $padata, $PayPalApiUsername, $PayPalApiPassword, $PayPalApiSignature, $PayPalMode); $request = explode('&', $request); $arrData = array(); foreach($request as $payData){ $payData = explode('=',$payData); $arrData[$payData[0]] = $payData[1]; } if(!empty($arrData)){ $padata = '&TOKEN='.urlencode($_GET['token']). '&PAYERID='.urlencode($_GET['PayerID']). '&PAYMENTREQUEST_0_PAYMENTACTION='.urlencode("SALE"). '&BUTTONSOURCE = AngellFreeInc_USBSwiper_EC_US'. //set item info here, otherwise we won't see product details later '&L_PAYMENTREQUEST_0_NAME0=xyz'. '&L_PAYMENTREQUEST_0_NUMBER0=132456'. '&L_PAYMENTREQUEST_0_DESC0=asfasdfsf'. '&L_PAYMENTREQUEST_0_AMT0=12'. '&L_PAYMENTREQUEST_0_QTY0=1'. '&PAYMENTREQUEST_0_ITEMAMT=12'. '&PAYMENTREQUEST_0_TAXAMT=0'. '&PAYMENTREQUEST_0_SHIPPINGAMT=0'. '&PAYMENTREQUEST_0_HANDLINGAMT=0'. '&PAYMENTREQUEST_0_SHIPDISCAMT=0'. '&PAYMENTREQUEST_0_INSURANCEAMT=0'. '&PAYMENTREQUEST_0_AMT=12'. '&PAYMENTREQUEST_0_CURRENCYCODE='.urlencode($PayPalCurrencyCode); $request = $objPaypal->PPHttpPost('DoExpressCheckoutPayment', $padata, $PayPalApiUsername, $PayPalApiPassword, $PayPalApiSignature, $PayPalMode); $request = explode('&', $request); $arrData1 = array(); foreach($request as $payData){ $payData = explode('=',$payData); $arrData1[$payData[0]] = $payData[1]; } if(!empty($arrData1)){ $date = (date('d')+1); $padata = '&TOKEN='.urlencode($_GET['token']).'&PROFILESTARTDATE='.urlencode( date("Y-m-").$date .'T'.date("H:i:s"). 'Z' ).'&DESC=12.00 per month&BILLINGPERIOD=Month&BILLINGFREQUENCY=12&AMT=12.00&CURRENCYCODE=USD&L_PAYMENTREQUEST_0_ITEMCATEGORY0=Digital&L_PAYMENTREQUEST_0_NAME0=xyz&L_PAYMENTREQUEST_0_DESC0=asfasdfsf&L_PAYMENTREQUEST_0_AMT0=12.00&L_PAYMENTREQUEST_0_QTY0=1&EMAIL=harryalm54@gmail.com'; $request = $objPaypal->PPHttpPost('CreateRecurringPaymentsProfile', $padata, $PayPalApiUsername, $PayPalApiPassword, $PayPalApiSignature, $PayPalMode); $request = explode('&', $request); $arrData1 = array(); foreach($request as $payData){ $payData = explode('=',$payData); $arrData1[$payData[0]] = urldecode($payData[1]); } print_r($arrData1); } //step last }
Can you help out the community by solving one of the following Cloud Computing problems?
Do activity (Answer, Blog) > Earn Rep Points > Improve Rank > Get more opportunities to work and get paid!
For more topics, questions and answers, please visit the Tech Q&A page.
0 Comment(s)