Options for In-Game Lodgement & Withdrawal Services from Payments Processors? - javascript

I've seen a few questions on here about choosing between payment processors like PayPal and Stripe so I hope it's okay to post a non-code related question.
I'm developing an app and I'm wondering if there exists a payments processor that allows players to lodge/transfer money into their game account (so that they'll have a real-money in-game balance), and allows them to withdraw/cash-out/transfer money out from their balance back to their bank or PayPal account instantly at any time.
I've seen such a thing happen on gambling/betting websites, but I haven't been able to find any clear information on this in PayPal and Stripe's product documents.
I'm wondering if there's a standard lodgement/withdrawal service, or would I need to approach each transaction as purchase transfer (player "purchases" in game curency from me when they lodge money, and I "purchase" their in game currency back from them when they choose to withdraw their money).
I've searched through PayPal and Stripe's documents but I can't seem to find an answer to my question. I'm planning to use Javascript and PHP to integrate the payments processor. Any advice on this would be really appreciated.
Thanks in advance!

Given various gambling and money transmission laws this is an area you'll want to be pretty careful in.
It would be against the terms of service for Stripe: "Virtual currency that can be monetized, resold, or converted to physical or digital products and services or otherwise exit the virtual world."
With Paypal it would depend a bit on what your game is, from their acceptable use policy: "Activities involving gambling, gaming and/or any other activity with an entry fee and a prize, including, but not limited to casino games, sports betting, horse or greyhound racing, fantasy sports, lottery tickets, other ventures that facilitate gambling, games of skill (whether or not legally defined as gambling) and sweepstakes, if the operator and customers are located exclusively in jurisdictions where such activities are permitted by law."

Related

How to auto sync Amazon seller orders with SP-API?

Developing an app that should allow customers to connect their Amazon seller account, which would export all of their unshipped orders. Once tracking numbers are provided for their unshipped orders on my dashboard, it would send the tracking numbers back to their Amazon seller account and mark that specific order(s) as shipped.
I have been stuck on the concept of doing this. I have it setup to where the customer has to manually enter keys, but that would be too difficult for customers. I want a simpler setup that will request the user to signin to their Amazon account like the below example:
I've been through the docs but I am not quite seeing how other businesses are achieving this. Could someone please outline the flow to have a similar setup?

PayPal Currency Conversion is incorrect

I am implementing paypal checkout 2.0 with smart buttons into an eCommerce website I am developing.
Now the problem I am facing is that the "shop" is priced in South African Rands(ZAR) and paypal gateway does not support ZAR as a currency to pay in, so I convert the currency to USD through a third party library. where I send a get request to an api and get the exchange rate for USD/ZAR.
then I divide the product order total/exchange rate and the result is the USD amount. which I parse to the paypal object then proceed with the checkout.
The problem is that Paypal has its own exchange rate and when it picks up that a users card is with a South African Bank it automatically does a conversion and shows the user how much he/she will be paying in the ZAR amount, and that value is different to the actual ZAR Amount.
I would like to know is there an api I can request the exchange rate of the USD/ZAR amount and use that value as the exchange rate or Is there away to disable the ZAR value from being Shown in the checkout
There is no API to get the current foreign exchange rate. The rate varies from moment to moment.
As far as hiding the rate in your screenshot, the answer is no. That currency conversion is happening for the buyer end and is invisible to whoever is receiving a payment denominated in a different currency (USD in this case). They have no visibility or control over this process. A buyer paying from a non-South African country would see something entirely different on this screen, for instance --not ZAR. So that's entirely between them and PayPal, you are not a party to this.

Automatic transaction fee charge based on sales amount from app referral

I'm building a react native app that allows companies (clean beauty brands) to showcase their products within the app (a beauty community). App users can visit the brands' website in a nested browser in our app and buy products from the brands website. I'm looking for a way to automatically get a transaction fee from the brands for sales initiated from our app (so transactions on the brand’s site where our app acts as the referrer, so our app is affiliate marketer). The majority of the brands we work with are small companies with websites on Shopify and SquareSpace, a lot of them use Stripe. Any advice appreciated!
You would need to use Stripe Connect. The idea is that you will act as a platform and each brand will have their own Stripe account that they connect to your platform. Then in your application, you will be able to offer their products on their behalf. When a customer wants to order some products, you can charge their card, have the funds go to the Stripe account for the brand and take your own fee out of the transaction (which is called an Application Fee).
I'd recommend looking at Stripe's detailed documentation for this:
https://stripe.com/docs/connect
https://stripe.com/docs/connect/enable-payment-acceptance-guide

temporarily storing credit card information in database

I maintain an internal web app used for customer relationship management (CRM) by company staff (agents and bookkeepers), there are no online sales/purchases all payment processing is done in person with terminals to accept credit card payments. Sometimes there are subsequent payments that have to be processed at later date away from customer.
Here's my scenario:
A staff agent answers a call and requested to take a credit card payment the customer wishes to pay with, but since the agent cannot run the payment through the terminal (only the bookkeeper can) they take a note of the information and give this note to the bookkeeping staff to run the credit card payment on terminal at a later time.
Of course this is an insecure method of transferring credit card information as anyone could see in plain text what is written on the sticky note, including cleaners of the office, etc. When the payment is finally run by the bookkeeper and destroyed in a shredder.
Anyway, I got a request to store this information temporarliy until the bookkeeper runs it and deletes from the database. I can't find specific information about temporary storage and hoping someone can help point me in the right direction or give me a better idea of what the practices should be or if there are third party I can use.
So far what I think is to encrypt the cc data and store in db until the bookkeeper clicks delete in which case it will be removed from the database.
Final note; I am using PHP/MySQL and javascript front end.
Thanks for the help.
If your software handles credit cards in any way and for any period of time, you're in scope for PCI. PCI compliance is kind of a big deal and best left to a 3rd party vendor that specializes in this kind of thing. Storing credit cards even "temporarily" is asking for trouble.

Is there a means to disassociate shipping addresses with the billing account in magento?

I am working on a site for a client where purchases are always sent to a third party in Magento CE ver. 1.8.1.0. While doing some style edits, we ran into a deeper issue; all of the shipping addresses are anchored to the account that created the billing information. The initial problem became apparent when dealing with shipping address pre-population in onepage checkout, where shipping was defaulting to the billing address (when tracing the methods calling the name). We could resolve this part on the frontend by repopulating the fields (or depopulating them) with javascript/ajax, however this will still leave an administrative nightmare unresolved on the back end, which will need to be addressed for the clients business model to work as intended. Basically, we need to disassociate the shipping addresses completely with the billing account and assign independent addresses to each purchase rather than keeping them all tied to the origin account, so when whoever is administrating the site has to deal with ongoing business concerns, they don't have to sort through a billion addresses in admin >> customers >> (account) >> addresses to deal with customer issues. Is there any extension that can easily accomplish this, or alternately some hidden core functionality to do so? Writing a custom solution will be difficult on the budget.

Categories