I've been trying everything but cant figure out that how can I change the payment currency of Stripe embedded in my Flutter App, I don't have any problems receiving the payment on USD but I want the Stripe Popup to show PKR instead of USD. Is there any way that I can Force code it to show or some other way?
I've tried to change it on my stripe account but cant find anything other than giving a specific customer a different currency.
The supported currencies on your account are mostly based on where your account is located. If your account is based in the US then thats the currency that your funds will settle in. You can check what currencies are supported based on your account's location here [1].
If you want to charge your users in a different currency then you'd want to modify the integration to set the currency accordingly. For example, if you're using PaymentIntents API to create charges then you'd set the currency property [2] according to your preference (given it is supported). The funds will then be converted in your settlement currency. More information here [3]
[1] https://stripe.com/docs/currencies#presentment-currencies
[2] https://stripe.com/docs/api/payment_intents/create#create_payment_intent-currency
[3] https://stripe.com/docs/currencies/conversions
Related
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.
I am building an in app purchase shop for my companies pc game.
I know that in android and ios you create the items in your developer account and then buy them through there.
Is there a way to do something similiar in Paypal?
P.S. I have already developed the connection with paypal's rest api and am able to charge users through paypal. But Instead of passing the price of the item and it's description etc.. to paypal I would rather pass an item code and have paypal show the user the correct price in his currency. Plus I want to be able to pull this data from paypal and display it to the user from there.
My server is gamesparks which works with a node.js and mongo db.
PayPal does not offer anything like what you're wanting. You can pass through the item_name variable so that the order invoices show the item name, but you can't set up any items with prices/description. Usually that process is taken on by the developer on the project side, not processor side.
The most effective and safest way to retrieve information for PayPal payments is to set up an IPN. Here is the documentation if you are unaware.
https://developer.paypal.com/docs/classic/products/instant-payment-notification/
I am using payflow pro. When I use currency code 'USD' all payment flow's works fine. But when I change currency code to 'CAD' it will return error with result code 06 which means Invalid or unsupported currency code. How to solve this problem?
This is not problem with your code.
Following https://developer.paypal.com/docs/classic/api/currency_codes/
Payment Receiving Preferences
If you have a PayPal Premier or Business account, configure your Payment
Receiving Preferences to handle payments automatically. You can convert
any payment into your primary currency or block certain types of payments.
You can set the following:
Block or unblock payments from U.S. customers who don’t have a confirmed address.
Block or unblock payments sent to you in a currency you don’t hold.
Block or unblock payments for duplicate invoice IDs.
Block or unblock payments from customers who have non-U.S. PayPal accounts.
Block or unblock payments from Student Account holders.
Log in to your PayPal business account at www.paypal.com. Click the
profile icon (Profile menu) on the top right side of the page. From the
Business Profile menu, select Profile and Settings.
Note: If you do not see the profile icon on the top right, select
Profile which appears in the top menu when the My Account tab is selected.
From the left menu, click My selling tools.
In the Getting paid and managing my risk section, click the Update link
for the Block Payments item.
Update your settings and click Save.
Just happened to hit this problem with Magento 2.3.1, when paying with credit card against PayPal Payflow Pro. Our default currency for the store is "CAD".
The support team is super, after our several failed transactions they managed to figure our the problem, let me share their reply here:
Thanks for reaching out today. Happy to help.
It looks as though this is an issue with the currency code you're passing. Right now it appears you're trying to pass USD in on the $0.00 verification call, but CAD on the actual 2.20 transaction itself. When you verify a card, the transaction you attempt against that verification must use the same currency. Try passing the subsequent transaction with USD, or create the verification in CAD and then run the transaction against it using CAD. See https://developer.paypal.com/docs/classic/payflow/integration-guide/#submitting-account-verifications for more on verifications. That's a great resource for Payflow in general as well.
That should resolve the issue you're seeing, but please let us know if you run into any other issues.
I hope that helps. Let us know if you have any questions.
That says for two API calls from our server (Magento 2.3.1) to PayPal need to specify the same currency code. While our first API call which sending amt=0 field doesn't have separate currency field there, so I guess the default value was assigned which is "USD". While the second API call which sending the real amt number had currency=CAD field, that might confused the API and eventually refused by it.
For Magento 2.3.1 the fix is to add the currency filed for the first API call, which the same idea may apply to other conditions as well.
Here is the Magento fix in case you are interested.
I've been working on a minimalist e-commerce website where I am trying to leverage Paypal's Add To Cart and View Cart buttons for the financial aspect of this website. However, I found out if you are not a U.S merchant you are restricted on Paypal's shipping calculator by not being able to calculate shipping by weight and region.
I am looking for alternatives to making a full e-commerce site, where the users do not have to register or type in their personal information or charge a fixed shipping rate for products.
I am curious on what everyone thinks regarding the user experience of a user entering their zip/postal code into an input box and being presented with a total price by estimated shipping prices (from UPS' API, Canada Post's API), and calculating taxes by region for each product. Otherwise, offer an option for the base product price plus a warning that the shipping and taxes are pending without specifying their zip/postal codes. If you have any other ideas, I would be glad to read them!
Thanks for your time!
That's what I typically recommend doing...gathering shipping directly from shipping carrier API's and then passing those values into the shopping cart / payment integration accordingly.
Any PayPal integration you choose would allow you to pass those details in be it Payments Standard, Express Checkout, Payments Pro, etc.
I am using PayPal IPN to process payments on my website. I would like the user to be able to enter a discount code and the value (amount or percentage) passed through to PayPal and calculated.
I have been looking around the web but can only seem to find the following:
Use discount_amount_cart to charge a single discount amount for the entire cart.
Use discount_amount_x to set a discount amount associated with item x
Use discount_rate_cart to charge a single discount percentage for the entire cart.
discount_rate_cart - Applies to entire cart however, this variable will only work with the "Upload" Method. Not the standard Add to Cart variables.
After testing these out in my request string:
...&discount_amount_cart=10&...
PayPal doesn't seem to recognise this discount. Does this actually exist any more in PayPal IPN?
thanks for your help!
Yes you can!!!
Here is a full list of Paypal Variables, and the associated documentation.
Ive just used discount_amount_cart myself!
https://developer.paypal.com/webapps/developer/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/#id08A6HH0D0TA
No ! PayPal doesnt offer any discounts, you need to manually calculate discount in your application & send it to paypal. I have developed a Ruby on Rails application that calculates Billing information using Stripe & PayPal. By the way which language are you programming in ? So that i can help you more on how to go for it.