Customer name is not showing on paypal recurring payments - paypal

I create a recurring payment in PayPal using Lionite Paypal API class. I pass 'name' parameter to the class, but no customer name is showing on paypal statement when I receive the payment. Other parameters are showing as expected.
What am I missing?

Solution: add parameters 'FIRSTNAME' and 'LASTNAME' to API call.

Related

Paypal SOLUTIONTYPE=Sole not work for recurring payments

i use Paypal ExpressCheckout method for payments.
I want to allow my users buy without paypal account and using their credit card.
Its work fine when i use one time payment.
My payment params (excepts currency, signature, username and password) looks like this:
'amt'=> '300.00',
'paymentAction' => 'Sale',
'desc' => 'some desc',
'qty' => 1,
'solutionType' => 'Sole', <--this option allow buy by credit card w/o pp account
'landingPage' => 'Billing',
But when i want to set up recurring payment, its not working anymore.
My recurring payment params:
'amt' => '300.00',
'l_billingType0' => 'RecurringPayments',
'l_billingAgreementDescription0' => 'Some desc',
'solutionType' => 'Sole',
'landingPage' => 'Billing',
Paypal force user to create pp account in this case :(
PayPal Account Optional it turned to ON in my pp account ofc.
Any idea what wrong i do?
"Pay with Credit or debit card " option is only applicable for the one time payments not for the recurring payments via the API calls .
The only possibility where you see the "Pay with credit card" option when you use the PayPal subscription button and you have the ERP( Enhanced recurring Payments) product on your account .
If you are looking to create the recurring profiles on the credit cards then you must have a Pro account and the recurring payments add on , then you will be using the API calls to create the recurring Payments directly on your website without even redirecting to the PayPal Page .
Depending on your Pro account type , you will be using the following API's :
For PayPal Payments Pro ( Payflow Edition)
https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/pp_payflowpro_recurringbilling_guide.pdf
For PayPal Payments Pro ( Direct Edition)
https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/CreateRecurringPaymentsProfile_API_Operation_NVP/

Recurring payment custom IPN field

I am creating recurring payments using PayflowPro Gateway, like this:
TRXTYPE=R&TENDER=C&PARTNER=PayPal&VENDOR=Acme&USER=Acme&PWD=a1b2c3d4&ACTION=A&PROFILENAME=RegularSubscription&AMT=42.00&ACCT=4012888888881881&EXPDATE=0203&START=12012013&PAYPERIOD=WEEK&TERM=12&OPTIONALTRX=S&OPTIONALTRXAMT=2.00&COMMENT1=First-time customer
once more:
#.................. API SPLIT SYNTAX for easier <field>-s' review
TRXTYPE=R
&TENDER=C
&PARTNER=PayPal
&VENDOR=Acme
&USER=Acme
&PWD=a1b2c3d4
&ACTION=A
&PROFILENAME=RegularSubscription
&AMT=42.00
&ACCT=4012888888881881
&EXPDATE=0203
&START=12012013
&PAYPERIOD=WEEK
&TERM=12
&OPTIONALTRX=S
&OPTIONALTRXAMT=2.00
&COMMENT1=First-time customer
When the payments process later, an IPN notification is sent to us via the URL setup in Paypal.
Does anyone know how to set data for the custom field of IPN during the recurring payment creation process above?
custom doesn't seem to be a field in the PayflowPro recurring API.
Thanks.

PayPal IPN subscr_payment_skippped transaction type

I am using Paypal enhanced recurring payment for my subscriptions and also set up the IPN handler and the messages are logged in my database. On checking the PayPal IPN variables documentation, i got confused between two variables
subscr_payment
and
recurring_payment
According to my knowledge, the former is used in case of website payment standards enhanced recurring payment and the latter is used when the recurring profile is created via an api call. Are my conclusion on these variables correct.
Secondly i could see a trasaction type as
recurring_payment_skipped
But the same equivalent for subscription payment is not found ie
subscr_payment_skipped
So since i am using Enhanced recurring payment and if any skipped payment occurs what would be my transaction type?.
I couldn't mock this case
Any ideas will be greatly appreciated

Determine Payment Type for PayPal Express Checkout

I am using the PayPal Express Checkout Merchant SOAP API, is there a way to determine which Payment type was chosen by the buyer?
E.g.:
Credit Cart type: VISA, MC, AMEX
Masked Credit Card number
PayPal (I know you can get the PayPal payment type)
I am using the following from the API:
DoExpressCheckoutPayment
GetExpressCheckoutDetails
GetTransactionDetails
SetExpressCheckout
Merchant API:
https://developer.paypal.com/webapps/developer/docs/classic/api/#merchant
I appreciate the help.
If the buyer paid through Credit card then u will get a receipt id
Array
(
[PAYMENTINFO_0_RECEIPTID] => 5116-7421-7291-5321
)
If the buyer paid through paypal then no receipt id in the response.
Thanks
Az

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).