How to display facebook payments in real currency with pay dialog? - facebook

I am using facebook pay dialog with action buy_items... i implemented the callback url and everything works correctly. In "payments_get_items" callback i set "price" property to (for example ) 5 (meaning 5 US dollars), but it seems that facebook understands this as 5 credits which is priced as $1.5 (or some other value different from $5). I don't want to display credits in my pay dialog but in client's local currency.
I am not sure how to do this..
Note: I didn't register company yet (may be this is the problem?)

As per the documentation: https://developers.facebook.com/docs/payments/callback/ price should be set in Facebook Credits:
The product cost based in credits. All product costs must be based in
credits. Integer value must be > 0.
Indeed using dev_purchase_params: {'oscif': true} will instruct Facebook to display the price in the user preferred currency instead of Facebook Credits. You don't need to register a company to get this working.
I think your issue is to convert USD to Facebook Credits (correct me if I'm wrong). Currently a Facebook credit is worth 0.10 USD, $1.00 USD = 10 Facebook Credits (http://www.facebook.com/help/?faq=204417036262972)
Note that you can also convert currencies to Facebook Credits and the opposite using this tool: http://developers.facebook.com/docs/payments/user_currency/ This will allow you to display the exact value in USD, EUR...

Related

Flutter Stripe Currency Change

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

Braintree in multi-currency

I'm trying to integrate Braintree into my website to accept payments and I have a couple of questions regarding the multi-currency support.
First let me say that I have created an account that accepts EUR, since I live in the EU.
Now, let's say that an american guy wants to buy something on my webapp. He obviously has a credit card tied to a USD bank account. Reading the doc I found that in Braintree I cannot specify the currency, hence my amount, in this case 10, is 10 EUR
gateway.transaction.sale({
amount: 10,
paymentMethodNonce: nonceFromTheClient,
options: {
submitForSettlement: true
}
})
Which means that on my website I'll have to display
Would you like to buy this item for 11.16 USD?
where 11.16 is the current conversion rate (at the time of writing).
Is this the right way to do this?? I am skeptical for 2 reasons:
Say I use an online real-time converter >> if the user refreshes the page he may find a different amount (BAD UX)
Say I set a fixed conversion rate, e.g. 1 EUR == 1.1 USD >> the user will find a different amount charged on his card wrt to the one displayed in the website. This is because I actually charge 10 EUR not 11 USD as advertise (BAD UX)
Can you please help me understand the correct way to handle this??
Every time I bought something from a foreign website I got the conversion displayed in EUR and I've been charged with the exact amount, but here on Braintree I don't understand how to do it.
Thanks in advance
Full disclosure, I work at Braintree. If you have any further questions, I recommend reaching out to our awesome Support Team.
You specify the currency of a transaction by passing the merchantAccountId. This prevents you from having to do a ton of conversion for every transaction.
Here's a modified version of the example from Braintree's developer docs:
gateway.transaction.sale({
amount: "10.00",
merchantAccountId: "your_merchant_account",
paymentMethodNonce: nonce_from_the_client,
options: {
submitForSettlement: true
}
})
If you haven't already and you have a production account, you should reach out to Braintree's team to request the currencies you need to process. If you're just testing in sandbox, you can create test merchant accounts by following these steps.

Facebook dynamic product ads feed issues

I am trying to setup facebook Dynamic product ads. Facebook says they accept same feed that google accepts at their google merchant centre for google shopping.
I have uploaded google shopping feed to Facebook and it comes back with following error
"Incorrectly formatted property: shipping (1,529 products affected)
Property shipping is incorrectly formatted."
Facebook's documentation says it needs shipping data in this format
COUNTRY:STATE:SHIPPING_TYPE:PRICE
US:CA:Ground:9.99 USD,
US:NY:Air:15.99 USD
Here is what facebook pics from google feed.
GB::24hr Tracked Insured Signed (Excludes Saturday, Sunday, Bank Holidays):0
It seems to correct to me as per facebook documentation. Any idea what could be wrong here?
Second question is how do you set it up if you offer "Worldwide free shipping"
You can't have commas (,) inside Shipping type. Comma (,) is used to between different shipping alternatives

PayPal "Buy Now" Link?

I see in PayPal how to make a Buy Now button. However, the code behind that is a form that POST to PayPal. Is there a way to create a link to a PayPal payment page with all of the relevant information (e.g. item name, price, custom customer fields to request, discount coupon field, etc.)? I want to be able to include this link in emails/SMS. I only have one item to sell and it's for a certain price, unless a valid discount coupon is applied, then it's for a set lower price.
I will want to put a Buy Now button on my site to do the same thing, but I do need a link I can email/SMS as well. Is there a way to do this?
Yes, PayPal website payments standard URLs work via either GET or POST, so you can take the same variables and put them in the URL string. So for example:
https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=foo#yourcompanyhere.com
However, I'm not sure if this is an "offical" feature; while it has worked for at least the last dozen years so I would be comfortable using it in an email, I would recommend keeping your primary website integration using form posts.

Facebook payment with automatic currency conversion, what is reported?

Say that a user of my Facebook Game initiates a payment for a product that is only priced in EUR, which Facebook then converts to USD for them. When I fetch this Payment from the Facebook Graph API, what's the currency reported in its charge action, EUR or USD?
Through experimenting, I've found that the reported currency is one that is specified in the product Open Graph page (in this case EUR).