paypal express checkout set paypal fee additional - php

I have integrate paypal express checkout in our website. as i know and get information from paypal documentation.
Need to set Amount parameter in request input and paypal deduct fee based on amount, but i want paypal add fee additional on amount.
Example :
Product amount : $100.00;
Paypal deduct fee 2.9% on $100.00 but i want add aditional 2.9% on main amount, like :
Amount = 100.00
Fee = 2.9%
Than Total amount is = $100.00 + 2.9% = $102.90
means i want paypal automatically set his fee on checkout page and charge to user.
Can anyone help me.
Thanks in Advance.

If you want to add that fee on to your order you'll need to do so prior to sending the user to PayPal, or you could also do it on your review page after the user is returned from PayPal.
Most people just add this to their cart as a "handling fee" or whatever you want to call it. If you want to be more accurate you should use the 2.9% + .30 formula.

Related

Recurring Paypal payment with dynamic amount in Standard paypal method

I have one simple PayPal Standard HTML form with 3 textbox and one button .
textbox 1 : <Amount pay now>
textbox 2 : <Out standing Amount pay on specific date>
textbox 3 : <recurring payment date>
Now when user clicks on a button, it redirects to PayPal for payment process as I have used PayPal standard method.
I want the amount to be processed from textbox1 and another amount should process automatically on a specific date.
Can someone please help out me to achieve this ?
srt - Recurring times
src - 1 //Subscription payments recur.
sra - 1. Reattempt failed recurring payments before canceling.
a3 - Regular subscription price.
p3 - Subscription duration. Specify an integer value
t3 - Regular subscription units of duration.
Valid range for p3 is 1 to 90 in D. similarly M, etc
business - your business email
item_name - order id / descripiton of item sold
currency_code - USD / INR
This is the reference URL
https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/#recurring-payment-variables
https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/html_example_subscribe/#product-options-as-text-boxes
Ex. This sample HTML code illustrates a basic Subscribe button with these features:
https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/html_example_subscribe/#basic-subscribe-button
No trial periods. A subscription price of $5.00 USD. A monthly
billing cycle. The subscription ends only when the merchant or
subscriber cancels it.
This isn't a simple bit of programming.
Why don't you use a third party like Stripe to handle this for you? It's built in and will be a lot easier for you to setup and you could focus on creating a decent custom dashboard where you could pull via the API of Stripe customer information and opportunity to change/cancel their subscription?

Paypal Recurring Payments without One-Time Purchase

I am attempting to set up a Paypal Recurring Profile, but I keep getting the error code 10525: "This transaction cannot be processed. The amount to be charged is zero." I only want to start the recurring billing, rather than charge them a one time payment amount and then the recurring billing on top of that. ($13 every month or $135 annually are the choices).
From the paypal knowledge (https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ1441&actp=LIST) I found:
"Use BillingType=RecurringPayments/MerchantInitiatedBilling instead for creating a Recurring Profile/Billing Agreement ID with no dollar amount."
However, I have already done so.
Also, in the paypal api(https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/) I found:
"Set this field to 0 if the transaction does not include a one-time purchase such as when you set up a billing agreement for a recurring payment that is not immediately charged. When the field is set to 0, purchase-specific fields are ignored."
But it is set to "0", so I'm not sure what to do there.
Here is my debug list:
2017-11-08 19:39:28 - PayPal Express debug (Call data): {
"METHOD":"SetExpressCheckout",
"MAXAMT":0,
"RETURNURL":"***",
"CANCELURL":"***",
"REQCONFIRMSHIPPING":0,
"NOSHIPPING":1,
"LOCALECODE":"EN",
"LANDINGPAGE":"Login",
"HDRIMG":"***",
"PAYFLOWCOLOR":"FFFFFF",
"CHANNELTYPE":"Merchant",
"ALLOWNOTE":"1",
"PAYMENTREQUEST_0_SHIPPINGAMT":"",
"PAYMENTREQUEST_0_CURRENCYCODE":"USD",
"PAYMENTREQUEST_0_PAYMENTACTION":"Sale",
"L_PAYMENTREQUEST_0_DESC0":"Journal Inside Pages:Unlined, Journal Theme:Mom",
"L_PAYMENTREQUEST_0_NAME0":"The Gratitude Project",
"L_PAYMENTREQUEST_0_NUMBER0":"JNL103",
"L_PAYMENTREQUEST_0_AMT0":0,
"L_PAYMENTREQUEST_0_QTY0":"1",
"L_PAYMENTREQUEST_0_ITEMURL0":"***",
"L_PAYMENTREQUEST_0_ITEMLENGTHVALUE0":"8.00000000",
"L_PAYMENTREQUEST_0_ITEMLENGTHUNIT0":"in",
"L_PAYMENTREQUEST_0_ITEMWIDTHVALUE0":"10.00000000",
"L_PAYMENTREQUEST_0_ITEMWIDTHUNIT0":"in",
"L_PAYMENTREQUEST_0_ITEMHEIGHTVALUE0":"0.00000000",
"L_PAYMENTREQUEST_0_ITEMHEIGHTUNIT0":"in",
"PAYMENTREQUEST_0_ITEMAMT":"0.00",
"PAYMENTREQUEST_0_AMT":0,
"L_BILLINGTYPE0":"RecurringPayments",
"L_BILLINGAGREEMENTDESCRIPTION0":"1 USD every 1 day"}
2017-11-08 19:39:29 - PayPal Express debug (Result):
"TOKEN=EC%2d67C48949S6014741D&TIMESTAMP=2017%2d11%2d08T19%3a39%3a29Z&CORRELATIONID=a278368193eb9&ACK=Success&VERSION=109%2e0&BUILD=40710629"
2017-11-08 19:39:47 - PayPal Express debug (Call data):
{"METHOD":"GetExpressCheckoutDetails",
"TOKEN":"EC-67C48949S6014741D"}
2017-11-08 19:39:48 - PayPal Express debug (Result): "TOKEN=***"
2017-11-08 19:39:48 - PayPal Express debug (Call data):
{"TOKEN":"EC-67C48949S6014741D",
"PAYERID":"8CKXXNF3MR26N",
"METHOD":"DoExpressCheckoutPayment",
"PAYMENTREQUEST_0_NOTIFYURL":"***",
"RETURNFMFDETAILS":1,
"PAYMENTREQUEST_0_SHIPPINGAMT":"",
"PAYMENTREQUEST_0_CURRENCYCODE":"USD",
"PAYMENTREQUEST_0_PAYMENTACTION":"Sale",
"L_PAYMENTREQUEST_0_DESC0":"Journal Inside Pages:Unlined, Journal Theme:Mom",
"L_PAYMENTREQUEST_0_NAME0":"The Gratitude Project",
"L_PAYMENTREQUEST_0_NUMBER0":"JNL103",
"L_PAYMENTREQUEST_0_AMT0":0,
"L_PAYMENTREQUEST_0_QTY0":"1",
"L_PAYMENTREQUEST_0_ITEMURL0":"***",
"L_PAYMENTREQUEST_0_ITEMLENGTHVALUE0":"8.00000000",
"L_PAYMENTREQUEST_0_ITEMLENGTHUNIT0":"in",
"L_PAYMENTREQUEST_0_ITEMWIDTHVALUE0":"10.00000000",
"L_PAYMENTREQUEST_0_ITEMWIDTHUNIT0":"in",
"L_PAYMENTREQUEST_0_ITEMHEIGHTVALUE0":"0.00000000",
"L_PAYMENTREQUEST_0_ITEMHEIGHTUNIT0":"in",
"PAYMENTREQUEST_0_ITEMAMT":"0.00",
"PAYMENTREQUEST_0_AMT":0,
"L_BILLINGTYPE0":"RecurringPayments",
"L_BILLINGAGREEMENTDESCRIPTION0":"1 USD every 1 day"}
If I do, however, set the PAYMENTREQUEST_0_AMT to "13.00", for instance, the call goes in correctly. However the customer would double pay for their first month (total of $26). I could set a trial period for "0", but that would only fix the monthly subscription, not the annual subscription.
I am using Paypal Express (Sandbox) with Opencart 2.3.0.2
This problem is known via Opencart, but no one has fixed it. So I was attempting to fix it myself. I have not used Paypal API before so I'm not sure where to look.
"Set this field to 0 if the transaction does not include a one-time purchase...." in the link
https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/ means that "n" in the parameter "PAYMENTREQUEST_n_AMT" is set to "0" instead of you set total amount into "0".
So, "MAXAMT" and "L_PAYMENTREQUEST_0_AMT0" cannot be "0 but should be more than 0 to match your total amount.
You are request to firstly call SetExpressCheckout API (BillingType=RecurringPayments), and got response with EC token and use it in CreateRecurringPaymentsProfile API
https://developer.paypal.com/docs/classic/api/merchant/CreateRecurringPaymentsProfile_API_Operation_NVP/

PayPal Vault transaction fee/charges

I am using PayPal Vault service for transferring amount from stored Credit Card to a PayPal pro account.
Here is the document link that I followed: https://developer.paypal.com/docs/integration/direct/rest-vault-overview.
After successful integration, I have checked it is charging $5.9% transaction fee, while I have heard that PayPal charges are just 2.9% in case of a pro account.
Please confirm Fee Charges for PayPal Vault service for this transfer of money from Credit card to PayPal account.
Any answers and suggestions would be
highly appreciated.
I got the answer from PayPal service support.
your monthly donations received determine the assessed fee amount:
If your monthly donations are $0 to $3,000, the rate is 2.9% + $0.30.
If your monthly donations are $3,000+ to $10,000, the rate is 2.5% + $0.30.
If your monthly donations are $10,000+ to $100,000, the rate is 2.2% + $0.30.
If your monthly donations are $100,000+, call us at 1-888-818-3928 for pricing.
And PayPal are not taking 5.6% charge it's taking if you are placed an order or 0 to 3000 USD than it's taking 2.9% of total amount and .30 per transaction fee.

Details don't match amount total when using taxes

I'm using Paypal to process payments.
The subtotal (without taxes) for the purchase is 132.94$. My customers are in Canada and I need to multiply a tax percent to that subtotal in order to get the real total.
The tax percent is 1.14975, but Paypal doesn't accept a tax percent with more than two decimals, so it rounds it to 1.15.
Here's the code that I use to setup the payment :
// Not shown- create an ItemList, add Item's to it
// ...
$details = new Details;
$details->setSubtotal(132.94);
$details->setTax(1.14975);
$amount = new Amount;
$amount->setCurrency('CAD');
$amount->setTotal(152.88); // 132.94 * 1.15
$amount->setDetails($details);
// ...
// Not shown - create the transaction, try to create the payment
However, when I try to send the information to Paypal, I get this error :
Transaction amount details (subtotal, tax, shipping) must add up to specified amount total
I tried dumping out $amount to see what it contains, and here's what I see :
Why does it tell me that the details don't add up to the amount? Am I missing something here? If I multiply the subtotal by the tax, I get the total for the amount, they do match up.

paypal error code 10413

i am implementing express checkout, i want to set shipping amount here is NVP string i am using
$nvpstr="&L_NAME0=".$L_NAME0."&L_NAME1=".$L_NAME1."&L_NAME2=".$L_NAME2."&L_AMT0=".$L_AMT0."&L_AMT1=".$L_AMT1."&L_AMT2=".$L_AMT2."&L_QTY0=".$L_QTY0."&L_QTY1=".$L_QTY1."&L_QTY2=".$L_QTY2."&MAXAMT=".(string)$maxamt."&AMT=".(string)$amt."&ITEMAMT=".(string)$itemamt."&ReturnUrl=".$returnURL."&CANCELURL=".$cancelURL ."&CURRENCYCODE=".$currencyCodeType."&PAYMENTACTION=".$paymentType."&SHIPPINGAMT=".$L_SHIPPING_CHARG;
But its giving error code 10413 that " The totals of the cart item amounts do not match order amounts." what is the exact paramerter in which i can pass Shipping Amt & TAX
The issue was caused by mismatched amount for the order. Especially:
AMT:Total of order, including shipping, handling, tax, and any other billing adjustments such as a credit due.
ITEMAMT :Sum of costs of all items in this order.
See more:
https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECCustomizing/

Categories