SagePay - Woocommerce - Transactions in multiple currencies - wordpress

I have a SagePay payment gateway which has two merchant accounts enabled to it to carry out transactions in both Euro & GBP. I plan on using the SagePay WooCommerce plugin to handle this.
I would like to know for example when the front end user selects either Euro or GBP how will the the transaction be processed with the relative merchant account for that currency?
I see many plugins that take the base currency (GBP in this case) and converts it to a currency of your choice (Euro in this case) using the exchange rate that you specify, however the transaction is still carried out in the base currency. The problem with this is that credit / debit cards will be charged and exchange rate fee.
Thanks,
Michael

Sage Pay will route the transaction to the appropriate MID according to the currency (and card type, account type etc). You just need to pass an amount and a currency.

Related

Can Dokan split out sales tax into a separate transaction?

We are currently running a marketplace using Dokan where all vendor/buyer transactions are handled by PayPal Express Checkout. Most of our user base is in California where tax rates vary between cities. WooCommerce tax settings are in place based on shipping address, but currently this gets tacked onto the money that the vendor receives, so they pocket the sales tax while we foot the bill out of our own pocket.
We have tried using the PayPal for WooCommerce Multi-Account Management plugin to send a flat percentage to our own PayPal account to deal with sales tax, but since this only allows a set percentage it is not suitable for California's infinite variety of tax rates, plus it incurs another transaction fee.
Is there any feasible way we can add sales tax to the total for the buyer, pay the vendor their share, and send the sales tax to our own PayPal account (with minimal or even no 2nd transaction fee)? If this is not possible with PayPal, is there any other payment provider that could do this & which could slot into Dokan with minimal hacking?
If you onboard every seller for multi-party payments including the third_party_details feature PARTNER_FEE (a necessary initial setup) -- then, for every transaction you can pass amount details including all item and tax information for display/transaction record purposes, and additionally include the tax amount you wish to collect as part of the partner_fee being deducted from what the seller receives and sent to you as the facilitator. This answer goes into more detail on that last part.

Woocommerce subscription: seperate tax rate, one for the signup fee and second for the recurring payment

We have a website that sells subscriptions.
The customer will get a physical product and then will be charged each month for the service.
We use WooCommerce Subscriptions plugin. We set the subscription product so the "Signup fee" will be used to charge for the physical device, and the subscription fee is for the service.
On some US states, the Tax for service and tangibles is different. For us it means different tax rate for the product (one time) and another tax rate for the recurring payment (service).
Since there is only one option to have Tax Class, I could not find a way to make it happen. Any ideas?
So...
The answer is to separate the subscription into two products. one as service and one as tangible.
We add the tangible on-the-fly.

PayPal payflow for half payment

For my next project i have used PayFolw. But my functionality is that my client want that at the time of booking we have to collect $50.00 as a deposit amount and the rest of the amount will payed us before 10 days of start of service (auto debit).
for e.g.
i have a buy service of $300 and i am booked this service on 30/05/2014 for next month date : 30/06/2014. now at the time of booking (i.e. on 30/05/2014 ) we have to collect $50 as deposit money. now i have unpaid amount is $250 ( $300 - $50). which is collected before 10 days of start of service means on 20/06/2014.
we have also take credit-card payments for same mechanism.
Is it possible to do this type of functionality.
for this we have used WordPress and gravity from plugin for payment.
Thanks
According to Gravity Forms documentation the PayPal Payments Pro Add-On includes Recurring billing functionality so it should be possible to create a Recurring Billing profile to fit your requirements. http://www.gravityforms.com/add-ons/paypal-payments-pro/

Change product currency and price in ubercart-based drupal with variable price

I run a donation site in Drupal, that soon needs to expand to another country, and will need to support not only switch of language, but also currency. The thing is, users donate money to charity in their own currency, and this needs to be summed up to a total amount of donations shown to the current user in their own currency.
A fundraiser is an ubercart product that users "buy" at a variable price, thus making a donation. I am creating a custom Donation node with each ubercart purchase containing CCK fields such as the amount donated.
So what I need to allow is this:
A user makes a donation in, say, Euro, EUR
Another user makes a donation in Danish Kroner, DKK
A third user views the site in US locale and should see all the donations converted to USD based off of the exchange rate at the time of donation for all the donations.
And it gets a little more difficult: We are using the UC variable price module to allow users to donate any amount they see fit.
So can this be accomplished using Drupal and Ubercart, and if so, how?
I am afraid that you will end up writing your own plug-in to convert currencies.
The problem with the conversion is, this is something that changes but you already realized this. The only source of exchange rates I know is Oanda and they seem to have their own Data Feed.
Unfortunately, I cannot tell if you would be allowed to use it for free, I believe it would be good to ask them.

Is it viable to use Drupal/Ubercart for an international store? Do any payment gateways support it?

I am picking tools to use for an international store. Company sells training and products in North America, Europe and a few other places. The existing store in the United States (Drupal/Ubercart/Authorize.net) works great and serves all their needs.
Displaying product prices in different currencies are relatively easy to set up, and you can display the correct currency symbols and values depending on where services are rendered, where people want to ship to, etc (useful modules include uc_multiple_currency, uc_multiprice, uc_cck_currency).
Are there viable Ubercart solutions to sell to other international markets using the same storefront? It is possible for any user to buy services/products through the US store, but paying in USD for a service offered in e.g. the Netherlands, when dealing with people based in the Netherlands is not acceptable.
The only payment gateway I could find that would accept payment in multiple currencies is Paypal. However, I am looking for a solution that would accept credit cards from international users and charge them in the correct currency. Authorize.net works great - will accept cards from anywhere and process them, but all transactions is in USD. It would be extremely problematic to charge someone €250 on the site and their final charge (after currency conversion) being e.g. €250.65 or something like it because of a delayed conversion.
Numerous people have asked this question, with very few useful insights and solutions (see for example here, here, and here, which presents a workaround-ish way of doing things).
To be clear: Displaying prices in different currencies is easy. How can I bill credit cards internationally using the correct currency through a gateway that supports it, without having to do conversions?
I have been through the same thing recently, but ended up making my own module to do the price handling. If it's done right, the prices will be displayed correct, even for order total etc. (See the hook_uc_price_handler)
This means that you will need to do two things to handle your problem.
Make sure the order only contain 1 currency, so you don't have one item costing €100 and another costing $100 (what would the total of that order be?) You could handle this by doing currency conversion if you wanted to, I believe that is how one of the modules you listed works.
When the payment is processed you need to send the correct currency to the payment provider. This already needs to be done in most cases as payment providers usually are able to collect in various currencies. Since most do the payment process via a hidden form that redirects or a inline form with hidden fields, you should be able to use hook_form_alter to set the currency to what you want. Depending on the payment module, this may be hard or easy.

Resources