Paypal Express checkout completes without adding shipping - drupal-commerce

Using the commerce kickstart and paypal express checkout modules, a customer is able to place an order without being charged shipping.
Normal credit card orders have shipping quotes on checkout. Is there a special rules setup or similar necessary to make the Paypal module add a shipping quote?

The solution is in the admin Store Settings > Checkout Settings > Look for "Express Checkout review and confirm" under Confirm Order, click configure.
Check Shipping service under "Checkout pane configuration" and save.

https://drupal.stackexchange.com/questions/77167/is-there-a-way-to-turn-off-the-paypal-checkout-button-in-cart-view-in-drupal-7
Edit the configuration of the Paypal EC payment method and add a condition to the rule:
Data Comparison / Commerce Order...state / Equal to 'Checkout'
In this way, when the order is still in Shopping Cart state the payment method is disabled.

Related

Paypal express checkout recurring payment with credit/debit card next steps

I have integrated paypal express checkout on my website. Currently with paypal account Pay as go and recurring/subscription payment both works as expected.
Now I am trying to integrate credit/debit card purchases for my website.
At first , in order to do that I have enabled "PayPal Account Optional" is "ON" in my PayPal account and set following on express checkout parameters SOLUTIONTYPE=Sole and LANDINGPAGE=Billing. After doing these steps
for only pay as go payment on paypal site "Check out as a guest" option showing but for recurring/subscription payment "Check out as a guest" is not showing.
Please kindly guide me on following:
What I have to do in express checkout functionality in order to enable paying through credit/debit card directly ?
Why paying through credit/debit is not showing for recurring/subscription payment ?
Whether it's possible or not to integrate credit/debit card functionality with express checkout?
Thank you in advance for your guidance.
When working with Express Checkout and Recurring Payments the user has to create an account or sign in. Guest checkout is not available with recurring payments.
To setup profiles with credit cards you'll need to sign up for PayPal Payments Pro. Pro itself costs $30/mo, and then you'll have to add Recurring Billing on top of that, which is another $30/mo.
Sometimes they'll negotiate with you on those monthly fees depending on the volume you'll be doing. You may want to give PayPal a call.
Once that's all activated on your account you'll just use CreateRecurringPaymentsProfile on its own, and you'll pass the CC details directly into that. So you'll be building the CC form on your site, which means you'll need an SSL to protect it, and you'll need to make sure you don't save any credit card details on your own server in the database, in log files, or anywhere.

Shopify / Paypal Express: Shipping cost not showing until after payment

Ok so I got the following problem with my Shopify shop: Because my shipping varies based on weight paypal does not show the shipping rate until after the customer has logged in and paid for it. It then gets send back to Shopify where it receives the message that it will be billed an additional $10 for shipping, which already got me some complaints.
So what I want is that it will already shows the shipping cost before the customer logs in and pays for it. I imagined that more people had this problem and perhaps found a solution to fix this?
Thank you
There are a number of ways to handle this with the PayPal system, but I'm not sure if Shopify is open enough for you to make any changes. You'll probably need to ask them how it's configured and see if you have any option to adjust it.
The standard flow for Express Checkout is that you would show the user their cart and any fees you've gathered at that point so you can generate the subtotal. Then you send them over to PayPal where they login and agree, and are then sent back to your site. Back at your site you would obtain the shipping address from PayPal and you could then display a final review page that breaks down any additional shipping, tax, etc. that might be applied now that you know their shipping address. No money would actually be charged until they approve this final review page.
In order to skip the additional review page on your own site, PayPal introduced the Instant Update API a few years ago. This gives you the ability to generate a web service that PayPal's review page will call and send the shipping address so that the service can calculate shipping and tax and return it back to PayPal. The PayPal review would then update accordingly so the buyer can choose their shipping option and see the grand total on the PayPal review page. That way they can finalize and would still be returned to your site, but you wouldn't need to show another review. You could simply show the thank you / receipt page.
I'm not sure if that first method I outlined is in fact what you're getting..?? It sounds like you're saying that Shopify is skipping the extra review, finalizing the payment, and then simply notifying the user that more money was charged than they agreed to. If that's the case, I would say that's very sloppy checkout design.
Again, though, as Shopify is a hosted solution, you probably won't have the ability to adjust this on your own. It's possible they have the Instant Update API available, though, and maybe you just need to enable it..??
You'll need to check with them for more details about your options.

Can PayPal REST API payments calculate shipping and taxes?

I have successfully used the PayPal REST API's to create and execute a payment in the sandbox, but even though I have shipping options and tax rates configured, they do not show up for the user. I expected the shipping options and calculated tax to appear before the user "approves" the payment. Is this feature supported via the REST API's, and if so what do I need to pass to make it happen?
The tax and shipping profiles are only for PayPal Standard transactions (the "Buy Now" buttons). API integrations like the Classic API and REST API are for more advanced integrations and are designed where PayPal returns the shipping address selected to you and your system chooses the tax rate and shipping rates before the customer confirms payment.
The PayPal shipping calculator only applies to Website Payments Standard transactions.
Express Checkout transactions will not use the shipping calculator.
https://www.paypal-community.com/t5/Merchant-services-Archive/Using-PayPal-s-shipping-calculator-with-Express-Checkout/td-p/328404
This is related but doesn't answer the question fully I'm afraid.
I've just started looking into applying different state taxes using the PayPal REST API. The override_charge_models option when creating a new BillingAgreement looks hopeful. It allows you to apply a custom tax amount when creating an agreement.

Confused as to which PayPal api to use for generic payments?

I'm building a small cart app in PHP which needs to have PayPal integrated into it for payments.
Checking the PP developer site you get 100 different APIs for every kind of job, however there is no clear answer as to which is the GENERIC API I should use to accept payments in the classic manner most webshops implement:
1. Client clicks pay
2. Redirected to PP site where he is asked to login.
3. After login he is presented with confirmation, he clicks OK.
4. Browser redirects back to my cart which presents user with a "Thank you" message, order code etc, while in the background a request is sent to my cart with the transaction credentials (transaction id, success status etc).
By the way, I'm not looking for Express Checkout since in this case PP provides the shipping info.
You could use the DoDirectPayment API to process payments. This will keep the buyer on your site, and they will enter in the information on your site. Then you will pass the details over to PayPal through an API call, and PayPal will then send the response back to you if the payment is approved.
If you are not wanting to use the DoDirectPayment API and are wanting to direct the buyer over to PayPal's pages to complete the payment but do not want to use Express Checkout, you could use PayPal Payments Adv/Payflow.
Express Checkout is what you want. Shipping info can be set on your end or Paypal end. It makes no difference.

remove shipping option using PayPal ButtonManager API

I'm using PayPal's ButtonManager API to dynamically create a hosted button.
When the user clicks on the "buy now" button, he's taken to a payment page where he can log in to his paypal account or pay by credit card.
Now what happens is that while giving his payment info, there's also shipping address info.
What I want to do is remove shipping address option entirely. My products are digital so I'm not doing any shipping and don't want any shipping to display.
Is there any HTML variable that I can pass through the button to ensure this? I know there's a no_shipping variable, which allows users to enter shipping address or not, but I don't even want this. I just want no shipping info at all. Is this possible?
Looking at this solution for Express Checkout:
Disable shipping address option in PayPal Express Checkout
I simply set L_BUTTONVAR4=no_shipping=1 in the NVP query string call to the Button Manager API, and it worked!