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.
Related
I've integrated the PayPal payment gateway, but now I need to know whether PayPal can handle the below scenario.
Let's say a customer pays $1000 which includes a non-refundable $100 application fee. Later the customer cancels and receives $800 as there is also a $10 cancellation fee, so the formula looks like:
$refund_amount($800) = $total_amount($1000) - $cancellation_charge($100) - $application_fee($100)
So now my business account has balance of $200 and I want to transfer cancellation_fee($100) to my service provider's PayPal account and want to keep application_fee($100) in my account. This transfer is the step I need help with.
Initially all payment has been received by the app owner account and later if the customer cancels or completes the booking amount must transfer to the provider's account (minus the $100 application fee)
I have gone through some PayPal API docs but was unable to find any solution for the transfer.
I'm using the paypal/rest-api-sdk-php library in Laravel.
For receiving payments, do not use the v1 PayPal-PHP-SDK; it is deprecated. Use the cureen v2 Checkout-PHP-SDK. Implement two routes on your server, one for "Set Up Transaction" and one for "Capture Transaction", documented here: https://developer.paypal.com/docs/checkout/reference/server-integration/
For the payer to give their approval, pair your two routes with: https://developer.paypal.com/demo/checkout/#/pattern/server
For automating sending payments from one of your accounts to another account, use the Payouts-PHP-SDK. The account sending payments will need to be approved for PayPal Payouts. See here regarding requesting approval: https://developer.paypal.com/docs/payouts/integrate/prerequisites/#get-access-to-paypal-payouts
Hi we are creating a mobile app for marketplace where we are hoping to get eBay model implemented. Where buyer will pay the seller and we will take our cut from the seller. We actually don't want to get payment ourself for the sale and handle the disputes for order shipping or chargebacks.
When a sale is done on our app, the buyer should send the payment to the sellers paypal and then Paypal will handle all the other stuff regarding that like disputes or chargebacks.
I want seller to link his paypal account to our app and we will take permissions for future payments and maintain a record where we can calculate his fee regarding sales made on our platform. Paypal Mobile SDK support this feature.
But my question here is how can we automate the original purchase process? One option is when a sale is done, we will send invoice from seller side to the buyer (possible using Paypal REST API) and open invoice pay link on the buyer side. Once the buyer pay the invoice and transfer the funds to the seller we will know that sale is approved successfully because as a Paypal facilitator we have access to that invoice (we actually sent that invoice to the buyer as we have permissions of invoicing of seller account).
But what if we don't want invoicing system? Can we implement anything where buyer will send the funds to the seller without generating an invoice from our app. Like when a sale initiated, we will present buyer a page where he will pay directly to the seller (without us involved) and we will track that transaction and make outstanding cut on that sale?
My Research so far
Payapl mobile SDK for iOS don't allow us to take permissions for invoicing, we can take single, future or profile sharing permissions in app
Paypal Rest API allow us to take permissions for invoicing but not for future payments (that is necessary to take our cut from the seller's account)
If we use Paypal Mobile SDK, we can take funds in our account but not directly to our sellers account
Adaptive payments is an option where can take funds from buyers and after deducting our cut send the rest to the buyer but in that case we will be primary recipient and seller will be secondary, being a primary recipient we are responsible for shipping the product which at this stage we don't want. Want want to be seller as primary recipient
Any help regarding our situation would be greatly appreciated. We just want to automate the system somehow with the APIs and SDKs without being the primary recipient. Please give us suggestion to make this a reality. Thanks
Using any other payment gateway like Stripe or Braintree will not help here because in that case we will be taking money as registered merchants. We would really like to work with Paypal for handling all order related stuff
The Express Checkout API supports Parallel Payments, in which case you specify the SELLERPAYPALACCOUNTID in the request. This is where the money for that particular payment would be sent.
You can use this functionality even with a single payment on the order, though. So you can just setup a single payment and include that SELLERPAYPALACCOUNTID parameter, and the money will go directly to that account.
When doing this you can use your own API credentials and no permissions or anything are required from the 3rd party account to send the funds directly to them.
This PayPal PHP SDK will make the Express Checkout API calls very quick and easy for you, so you could just setup some simple PHP services to hit from your mobile app(s).
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.
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.
This is driving me crazy! I can't get the PayPal express (Payflow?) api to work....
paypal sandbox tells me:
Test Account: AAAA.B_CCCCCCCCCC_biz#XXXXX.com
API Username: AAAA.B_CCCCCCCCCC_biz_api1.XXXXX.com
API Password: DDDDDDDDDD
Signature: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
in the paypayfunctions.php i wrote:
$API_User="AAAA.B_CCCCCCCCCC_biz#XXXXX.com";
$API_Password="DDDDDDDDDD";
$API_Vendor="AAAA.B_CCCCCCCCCC_biz#XXXXX.com";
$API_Partner="PayPal";
...
And when I test the service, all i get is "SetExpressCheckoutDetails API call failed. Error Message: Invalid vendor accountError Code: 26"
The PayPal documentation and examples are terribly complex, all I want to do is having a simple button that links to paypal to start the payment of XXX euro's to account YYYY....
Can anyone help me?
Thanks in advance!
Express Checkout and Payflow are two separate PayPal services. Your sandbox credentials (which include a signature) are for Express Checkout. The script asks for a partner, which is specific to Payflow.
What do you want to use? Express Checkout or Payflow? See the paragraphs below for more information on the two.
Are you sure the script is for Express Checkout?
Is the script connecting to the sandbox or live API? The Express Checkout sandbox API is located at https://api-3t.sandbox.paypal.com/nvp.
Express Checkout is primarily used for payments using a PayPal account. You can set up a sandbox environment at developer.paypal.com. Within the sandbox you can create test accounts, at sandbox.paypal.com. See the PayPal API Reference for more details.
Payflow is a payment gateway that allows you to pay using a credit card or checks, among others. PayPal accounts are not supported by Payflow. You can sign up for an account, which can be used for testing and real payments after you upgrade the account. See the User's Guide for Payflow Link (PDF) for more details.
Issue
PayPal returned result code 26 - Invalid vendor account when processing a transaction.
Cause
You may get result code 26 if:
You just activated your account.
A vendor account doesn't become active until at least an hour after it was created. Typically, a database update begins at 20 minutes past the hour and lasts about 20 minutes. If your account becomes active while the database is updating (after the 20-minute mark), you must wait until after the next hour's update before you can use it.
The login information is incorrect.
Verify the information you entered in the User, Vendor, Partner, and Password fields.
Check that you sent the correct Partner value.
The primary user's Merchant ID should be in the User field. For a secondary Payflow Pro user, the User field should contain the password assigned by the primary user.
All fields are case-sensitive.
**
The bank BIN number is unknown.
** For PayPal Australia (VSA) only, result code 26 indicates that the customer's credit card is issued by a credit union or small financial institution. The processor, FDRA, has no bank identification number (BIN) on file for the card, which triggers the error message,"No Universal Account - Response code 42." You must get another credit card or form of payment from your customer.
Solution
Check that all values in use are both correct values and proper case (all values are case-sensitive).