Retrieve BAID from PayPal Recurring Payment - paypal

Wondering if there's a way to retrieve the Billing Agreement ID from Payment via PayPal API? That is, associate a customer w/ a payment? The scenario is that I retrieve a list of payments that have been made for the day. For example,
oPmtHistory = Payment.List(oApiContext,....)
and from the list of payments in the PaymentHistory object, I can determine what payments belongs to which customers. Retrieving the payer in the Payment object doesn't appear to be the most reliable way to get the customer associated w/ a payment.

Related

Braintree - create customer with Paypal details

We are studying the feasibility of using Braintree as a payment gateway for one of our client.
One of our requirement is to create a persistent customer with specific payment method/s (paypal, credit/debit etc) using
Braintree Java API.
This registered customer account will then be debited and amount transferred to the client's account as and when need arises.
We have following queries.
Is there any constraint/limitation as to the country to which the customer can belong to? For example, can we create a
customer in Braintree who is a resident of India or China? Can Braintree transfer amount from a customer's account in India
to client/merchant's account in USA and vice versa?
In Braintree sandbox account we can create a new customer with credit card as a payment method. How can we
create a customer with Paypal as a payment method in sandbox?
I have gone through the Braintree Customer.create() Java API. Using Customer.create() API we can create a new customer
with credit card details. But how can we create a new customer with Paypal details using API call? Where can we provide customer's
Paypal account details while calling Customer.create()?
Once customer is created and payment method details verified by customer can subsequent amount transfers from customer to
client/merchant's account happen without customer have to authorize each transaction?
Thanks.
I try to answer your questions but I'm not Braintree ninja.
I think yes but there would be some charges on top of normal fees (known as currency conversion charges).
You can't create paypal as payment method in sandbox (I don't know the reason) but you can in production account.
When users choose Paypal as payment, after successful authentication a token is returned that you can save in database for future transactions (without authentication).
I didn't get your last question, let me answer what I understood(I guess you mean authentication again or providing details again). If customer agrees to have payment method vaulted then no, they won't have to authorize transactions in future as long as they don't cancel their payment method.
Update: Forgot to answer the first part of your question No. 1, as per their FAQs Braintree accepts payments from almost everywhere.

Is it possible to create a market place style app with paypal?

I am working on a web application for a client and he wants the payflow to work sorta like this:
Seller makes an offer for an item
Customer purchases the item
The seller sees the item is paid for but won't get the payment
When the item has been marked shipped the payment minus app fee and paypal fees will be sent to seller
App Fee is deposited into the application's paypal account
I have implemented it using paypal's express payment api and do the payouts manually. But this has caused double paypal fee's which are incorrect. My client wants to use adaptive payments but that isn't going to work since they require the seller to be the primary receiver and the merchant service be the secondary but for out desired flow that won't work. What other option do I have?
From the description you provide, the best approach is to use Adaptive Payment Delayed Chained Payment. The buyer will make a payment for the item and the seller will directly receive the amount. You can specify the merchant services to be the secondary receiver but when using the Delayed Chained Payment, primary receiver (seller) will always get the payment first and using the Pay API, secondary receiver (merchant services) will get their portion. If you required the seller to be the last person to receive the money then they (seller) should be the secondary receiver.

using paypal express checkout API to handle payments for third parties?

i am creating a small marketplace where sellers can sell their products and receive payments to their PayPal account directly from the buyer.
i've previously been using "website payments standard" but am looking to switch to the express checkout API to generate a one-time payment token each time someone purchases something and which then allows buyer#email.com to send a payment directly to seller#email.com without the involvement of my PayPal account.
is that possible?
i've only found one option in the documentation at https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/ called "PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID", but is that the correct way to send the entire payment from the buyer to the seller without any amount going to me?
also, do i NEED to have my own "USER" and "PWD" to generate an API token each time if I am receiving no payment mysefl?
Think you are looking for Adaptive payments.
Adaptive payments handles payments between a sender of a payment and one or more receivers of the payment. You are an application owner, such as a merchant that owns a website, the owner of a widget on a social networking site, the provider of a payment application on mobile phones, and so on. Your application is the caller of Adaptive Payments API operations.
So, in general if you want to act as API caller and to felicitate the money transfer between buyer and seller, Adaptive payment is the way to go.
Steps to go live with Adaptive Payments

Payment Adaptive payments, implicit payment fee

I want to know if there is any fee to make Implicit payment using adaptive payments to other paypal accounts in the same country.
User can buy product from my app using Credit Card through a third party gateway or paypal.
2nd part of my application will distribute commission to multiple merchants who also have paypal account of the same country.
From what I understand its free to send money from senders paypal account in this case the api owner to another registered paypal account of the same country.
Is my assumption correct ?
Hussain
There is a parameter in the Pay request called feespayer that you can set to specify who pays the fee on a payment. Possible values are SENDER, PRIMARYRECEIVER, EACHRECEIVER, and SECONDARY ONLY.
See the Pay API reference for more details.

Recurring payment using reference transaction

Is it possible to Create a Recurring Payment Profile using DoReferenceTransaction or is there any other way to set up recurring payment when I've got "billing agree" from customer and REFERENCEID - an id of customer's previous transaction.
Thanks
You can set
RECURRING
field of DoReferenceTransaction API call, but first you need a billing agreement with buyer.
I recommend doing recurring payment with CreateRecurringPaymentsProfile call.
API is here.
I've got billing agreement with buyer ("billing agreement ID") - according to reference transaction api .
I also can do transactions with DoReferenceTransaction like:
$nvpstr="&L_AMT0=".$itemamt."&L_QTY0=1&AMT=".(string)$amt."&ITEMAMT=".(string)$itemamt."&CALLBACKTIMEOUT=4&REFERENCEID=B-6J7244599E964634T&ReturnUrl=".$returnURL."&CANCELURL=".$cancelURL ."&CURRENCYCODE=".$currencyCodeType."&PAYMENTACTION=".$paymentType;
$resArray=hash_call("DoReferenceTransaction",$nvpstr);
However I still don't know how to set up recurring payment using reference transaction cause in API link you gave me, there is a note that Credit Card ACCT number is required - but I don't want to store client's card numbers in my database (I am using express checkout).