PayPal/Braintree: Switching ec-vzero checkout flow to use different currency - paypal

I've got a business.
We use a paypal account to collect cash from our customers.
We currently use the braintree SDK to actually get the user's payment authorization. We use a barely-changed implementation of these instructions
We are currently pricing and settling in Canadian dollars, as we're a Canadian company and we didn't really think we'd get this big.
We'd like to expand to using USD price and settle, since most of our customers and suppliers are in USD and we'd like to avoid the currency conversion. I had been hoping this would be easy: Our code currently creates a Braintree::Transaction::Sale() with merchantAccountId: 'CAD', and I was hoping I could just switch to merchantAccountId: 'USD'. However, this gets me a 2091 decline: "Currency of this transaction must match currency of your PayPal account".
How can we make our PayPal account's currency USD? I have tried (in the sandbox) to switch to it having USD as primary, but no luck.
I have confirmed that USD is selected as a currency in my "Express Checkout via Braintree SDK" settings here.
In the labyrinth of documentation sprayed around PayPal and Braintree's sites, I haven't been able to figure out how exactly to solve this problem that doesn't involve creating entirely new PayPal and/or Braintree accounts. I'm not even certain creating entirely new accounts would solve my issue, because I don't remember setting CAD as any kind of permanent setting while setting up our original PayPal account.

Our solution: We switched to use Stripe. It was an easier signup and far better docs. We missed the desire to keep our old PayPal account, but it's not the end of the world.

Related

Pay as you go with Paypal

I want to implement a pay as you go with Paypal, as I read the subscriptions API we need to create a plan and product, and as I understand it, it works based on the regular payments which obviously we don't want that we want if the user's budget is below a certain amount we recharge the user by a fixed amount again, can anybody guide me how to approach and implement pay as go using Paypal?
You are correct, subscriptions bill on a regular schedule whereas what you are describing is the ability to bill an arbitrary amount at any time.
That feature is called "reference transactions", or sometimes "billing agreements". It is not enabled for PayPal business accounts by default. To request the feature, the owner of the PayPal account should contact PayPal's general business support (note: not technical support) and explain the business need for this reference transactions feature.
If it's approved for the account, PayPal can then guide you on which API integration to use; potentially something like the newest v2/vault.

Payment Gateways: pay a percentage to two different accounts

For an e-commerce site I am building, for every transaction 90% needs to go to one account and 10% needs to go to another.
It looks as though Stripe can handle this using the 'Express' account using 'Connect', but it seems this account type is unavailable outside the US (we are based in Hong Kong).
It also looks like Paypal has 'Adaptive Payments' which would achieve the same result, but it says:
Important: Adaptive Payments is now a limited release product. It is restricted to select partners for approved use cases and should not be used for new integrations without guidance from PayPal.
As this is a very small website I don't want to go through the hassle of being a 'select partner' and they probably won't let me anyway. Is there any other way to achieve this?
If it makes any difference I will be using Drupal for the store.
Since adaptive payment is a limited release product, you may want to look at Braintree Marketplace. Basically, it works just like adaptive payment where you can split the payment. For availability, you will need to contact their sales team. For more information, refer this Braintree Marketplace

PayPal Recurring payments/subscription

I need to create a subscriptions system in my app, where users can subscribe to a certain package and they must be billed monthly.
Moreover, I need to charge their credit card automatically, and without requiring them to have a PayPal account.
I read about https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=merchant/erp_overview, but is seems it's not available anymore as I click on sign up and it gives me an error ("Sorry, this feature is not available at this time.").
Then I've read about PayPal Standard Payments, which have a subscription method (https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/subscribe_buttons/)
From what I can read there is that this is what is suitable for my use case, and it says that I need to enable the above mentioned service, which it doesn't work.
Can someone point me in the right direction on what service should I use from PayPal in order to implement recurring payments (basically my users will subscribe themselves to a service on my website, and I need to charge them monthly).
Thank you.
If you're wanting to handle credit cards directly I would highly recommend going with Payments Pro w/ Recurring Payments APIs.
You'll have to pay a monthly fee to get it all activated, and it's a little bit more expensive than what you were looking at, but it will give you much greater flexibility building your application(s) into various experiences for your buyers.

PayPal dynamic price

I've done a LOT of research on how to accept payments through PayPal for items whose price changes dynamically.
My site sells a service and there are pretty much an infinite possible prices for the same item based on parameters (price increments in $0.99, 0.20 and 0.10).
I've looked into Paypal Express but it doesn't seem to allow accepting credit cards / debit cards, only payments through Paypal.
I looked into a "hacky" solution that calls the API's BMUpdateButton method to update the price of the button on PayPal's side but this won't work in my case as multiple users may be on the page at the same time and would need to be quoted different prices.
I saw that I can create a payment page from scratch and call APIs to create, accept, and verify payments against PayPal but that's a lot of coding for one and that tremendously reduces security as I don't have SSL and will need to get it which isn't cheap for a start-up business :)
I also came across creating a "non-hosted" button (haven't tried it yet) but that seems to require specifying my business email address in the HTML code which would be far less than ideal.
What I'd really like to do is have a php page act as a gatekeeper between the time the user checks out and what gets sent to PayPal where my PHP can inject the payment amount in and the user can confirm it on the PayPal page and checkout. Any other solution that satisfy the requirements will be truly appreciated.
Requirements again are
Must accept credit cards and PayPal payments
User does not have to have a Paypal account
Price must be dynamic and be able to support multiple users at the same time
Must be as secure as possible. I don't have SSL. An html input type='hidden' won't work as it's too easy to manipulate.
Another thing I thought of just now while typing this post up - if I can securely add quantities of an "item" that may also serve the purpose. For instance, I could add 10 quantities of "items" costing $0.99 and 2 "items" costing 0.10 to get to my required total of 10.19. Is it possible? The quantity boxes, again, must not be changeable by the user. It's more of an all or nothing type of deal :)
Help will be truly appreciated. Please let me know if I've missed anything.
Express Checkout does include "Guest Checkout" so people can pay using a credit card without having or creating a PayPal account. Unfortunately, they just recently made changes so you're forced to click a "Guest Checkout" button before you can see the full credit card form, so some buyers still miss it and don't realize they can do that.
Payments Pro would definitely give you want, but you would indeed need an SSL, and you'd need to make sure you're not saving any credit card details locally.
Payments Advanced is similar to Pro except that the form is hosted within an iframe and resides on PayPal's server so you don't need an SSL that way.
I personally prefer Payments Pro.

Paypal ExpressCheckout + chained Payment

I developed a Web Application that accepts payments via the ExpressCheckout API, for users to become a members.
Everything works fine.
I now want to extend my Web Application Services and offer my users with the possibility to buy items which are sold by third parties (my members).
The principle I would like to implement is quite simple: for each order, let the user pay for the item they choose and then transfer a part of the amount I received to the item provider, and keep some money for me. I would like to automate this process so that once I received the payment notification, I compute the amount of money to transfer to the item provider who might or not have a Paypal account (in other words, this means that I could maybe need to transfer the money to a bank account, using the IBAN/SWIFT data) and then proceed with the money transfer.
I tried to find a solution reading your documentation and came across the "chained payment" but the latter does not seem to be used within the ExpressCheckout workflow.
Also, since my implementation of the ExpressCheckout flow works, I would not like to have to find a totally different solution but rather extend it... if possible.
Could you please tell me which is the best solution for me?
In advance, many thanks for your help.
You could do 1 of 2 things. You could use Express Checkout with parallel payments. This means you could split the transaction up between different accounts at the time of purchase. The other option would be to just receive all of the funds into your account, and then when you are wanting to send money to the other accounts you could either use the Adaptive Payments (Pay) API or the MassPayments API to send money to the other accounts. Keep in mind you would have to send it to their PayPal accounts, you would not be able to send it directly to a bank account with either one of these API's.
I had the same issue and I got an answer from PayPal that it is not allowed to use Express Checkout to transfer money to your PayPal account and - at a later point in time - transfer the amount minus your service fee (which stays on your PayPal account) via Adapative Payments API to the seller's PayPal account. PayPal suggested to use Chained Payments API instead. All works fine in the sandbox, but once you need a Live APP ID from PayPal they will review your business case and deny it. At least that what happened to me.
I know that is old question, but anyway, I tried to find solution and was enable to perform the simillar thing like described in question. So, then I asked paypal about this, and they gave me advice to use SellerDetailsType Fields that 's called PayPalAccountID, description for this field is Unique identifier for the merchant. For parallel payments, this field is required and must contain the Payer Id or the email address of the merchant. It wasn't clear for me to use this field for solving my problem. Here is link https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/SetExpressCheckout_API_Operation_SOAP/ I described field for soap request, for NVP it's called PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID, but the idea is the same. I hope it will help someone.