Money Transfer using Paypal Express Checkout - php

I have setup a payment portal that will allow contractor's to convert their account credits balance to money (Cashout) and transfer into their accounts on Paypal. What I have in mind is to set the buyer's email dynamically to the contractor's Paypal Email and run the Express checkout. However, does Paypal allow money transfer from a Business account (Seller) to a Person account (Buyer) using Express checkout? I'll appreciate any help on this.

Yes, you can do that no problem. Express Checkout includes parallel payments now, but you can actually set that up with a single receiver and you can set whatever receiver you want without messing with permissions or anything like that.
You'll use the PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID parameter to handle it, where n refers to the individual payment in your request, starting with 0.
For a single payment being made, all the parameters like that would just be PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID, but if you ever have an additional payment to somebody else you'd use PAYMENTREQUEST_1_SELLERPAYPALACCOUNTID, etc.
The documentation describes this parameter as:
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. You can specify up to 10 payments, where n is a digit
between 0 and 9, inclusive.

Related

Braintree API in PHP - enforce currency for transaction

I am trying to enforce a currency for a transaction via the Braintree API but I cannot see how this is done. Stripe is very easy, as the currency (AUD, USD) is passed to the Stripe server as part of the execution.
With Braintree what I can see is that the currency is dependent on the merchant account receiving the money. My app will allow a user to invoice their customer, so the user will select the presentment currency of the invoice. I want to lock this selection to their merchant account currency.
If I understood this correctly, then pushing a transaction of MYR 250 (for example) and having a customer pay for this, if the merchant account behind the transaction is a EUR account, then the customer was presented by my app a MYR 250 value, but his CC is debited a EUR 250 value.
Is there a way to do this with Braintree? I want to do this with the standard merchant accounts and not under the Master Merchant set up.
Alternatively, is there a way to confirm the currency of an account from the Merchant Id / keys that a user supplies my app?
I have read the entire API docs, but I cannot see how this is done. Did i miss something? It has been a long week already!
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support.
It's possible to have different presentment currencies and settlement currencies. To set this up, please check out this section and email the Braintree Accounts team directly: accounts#braintreepayments.com
To confirm the currency associated with a MerchantAccount, you can call MerchantAccount.find using a merchant_account_id. With the MerchantAccount object, you can check its currency_iso_code attribute.

Paypal Chained Payments, pass shipping address

On my e-commerce website I'm using paypal for checkout. The flow is like this:
Buyer can select one or more products from one or more sellers. When paying I use chained payments. My paypal app account( primary) receives all the money and then I take my fee and send the rest to sellers(one or more). Everything is fine but I need to activate seller protection.
So far I implemented setPaymentsOption, but since I'm the primary receiver I cannot pass the shipping address from buyer to seller(s). I spoked with paypal support and they said that I shoud consider implementing IPN but I'm not sure how to do that.
So for any ideas I will be grateful

Dynamic Paypal Payee with direct checkout

I'd like to have different Paypal payees depending on the URL being viewed and using direct checkout so the user never leaves my site. So for example at example.com/brandA someone could buy a product that brandA is selling and brandA gets paid, and at example.com/brandB someone could buy a product that brandB is selling and brandB gets paid. Can I do this all through an API where all I need to specify is the payee email address? Or does each payee need to set up a Paypal Payments Pro account?
If you're processing the payments using Payments Pro (PayFlow or DoDirectPayment) then each seller would need Pro enabled on their own account, and you'd need to have them setup Permissions or use the Permissions API to make API calls on their behalf.
If you go with Express Checkout you can just set the PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID parameter to the email address of the PayPal account you'd like the money to fall to. That will work without any permissions necessary.
Note: the n in the parameter name would be a 0,1,2,etc. depending on how many payments were included on the order. With a single payment you would just use PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=some#emailaddress.com

authorize.net payment distribution

I am looking for the solution on authorize.net payment distribution.
Eg: there is 3 person and site admin (A,B,C & site admin)
A want to send money to C using the site.
now the money A is sending is automatically going to divide in some part...
Amount 1 -> site owner will charge some % as commission on the amount(lets say 2%).
Amount 2 -> B will get some money (lets say $100) (for some extra service which is predefined)
Amount 3 -> we also required to less the charges of Transaction fee which paypal or authorize.net etc will charge.
Amount 4 -> is the amount which C will receive in last.
Also A can pay using any account (CR. card, DR. card, Paypal, authorize.net etc) type (but the process will use Authorize.net for transaction)
And C & B get the money.
Que :
How can i do this using authorize.net ?
Also Do we required to have B's & C's account account on Authorize or they can get money on any account type(like paypal, authorize etc).?
And how can i get the changes details and deduct it from the actual amount.?
You can't do this with Authorize.Net. Currently your only real solution is to use Paypal Adaptive Payments which is designed for this very scenario.
Using PHP in response to your answer, you could potentially do it IF they had an authorize.net account as well. The PHP API requires the api key for the merchant the money is going to. Think of Authorize.net as a middle man between the customer and your bank account, not like Paypal which holds on to money in it's own bank account system. Since that is the case, I am almost positive you can't transfer money between accounts or pay someone using your Authorize.net API.
If you had their Authorize.net API, it would show up as 2 separate charges on their card of different amounts, which would probably not be good as the client would think that they are being charged twice. Overall I don't think that would be a smart move.
If you wanted to, you could use a Paypal account that is also tied to that same bank account, and then possibly use Paypal's API after the charge goes through to divvy up the payment.
Ultimately, I personally think the best way to go about it is one single charge to the customer, and then figuring out a way to cut a check or send a payment to the other parties involved. Multiple small charges and 1 big charge are sure going to look suspicious.
Anyone else that has any experience, feel free to correct me if I am wrong.

Verify PayPal donation between two 3rd parties

I'm working on a project where users will be allowed to send donations among each other.
I'd like to integrate it with Paypal instead of reinventing the wheel and building my own donation system, but due to the nature of the system, I will need to verify that a donation of X dollars was sent from person A to person B.
Is this possible with Paypal, or am I out of luck?
You will need to look at PayPal Instant Payment Notifications (IPN).
Within the call to PayPal to handle the donation/payment, you can specify the URL for a "Listener", which is a script which will be contacted by PayPal with details on the payment, and can then authenticate that payment against PayPal to ensure that it is accurate/confirmed/not faked.
Within the data passed back to the Listener is the email addresses of the Payer and the Payee, along with the amount paid, fees charged, etc.
If you are acting as an intermediary to the two parties, and so long as the payment are made through the form/site you control, then you should be able to use the IPN to get details of those payments and then use that data however you wish to.

Categories