PayPal Convert Authorization Transaction to Recurring Payment Profile - paypal

I have set up a website that uses the PayPal Payflow API to process payment transactions using a live Payments Pro account that has the Recurring Payment service. It works by first requesting a secure token and then committing the transaction. I have this working using both Hosted Pages (layout c) and Transparent Redirect. I'm using the Payflow_dotNet dll which uses the payflowpro.paypal.com URL.
Now I was told (and discovered) that Recurring payments can't be set up using Secure token so I'm doing this in 2 steps
Create an authorization transaction
Convert the transaction to a Recurring Payment Profile
So I have step 1 working. But I have problems with step 2. Step 2 SAYS that it worked but when I go to PayPal - Profile - My Selling Tools - My Automatic Payments there is nothing there, and the authorization transaction is still listed (as pending) in my History. Sample code:
PayflowNETAPI PayflowNETAPI = new PayflowNETAPI();
string secureTokenID = PayflowUtility.RequestId;
string response = PayflowNETAPI.SubmitTransaction(nvpstring, secureTokenID);
Where nvpstring is
PARTNER[6]=PayPal&VENDOR[13]=myvendor&USER[6]=Robert&PWD[8]=mypassword&
TRXTYPE=R&ACTION=A&TENDER=C&INVNUM=243&PROFILEREFERENCE=243&PROFILENAME[38]=Mark Groseth--243--Science Center Fund&
START=09182014&TERM=0&PAYPERIOD=MONT&AMT[4]=1.07&ORIGID=ESJPC2894AFC
where the ORIGID is the PNREF that was returned when creating the authorization transaction.
This even gives me a resulting RPREF and ProfileID like RP0000000005. So where did it go? why didn't it work?

Whenever you use the Payflow API all the recurring profiles will be stored at manager.paypal.com. In other words, all the recurring profiles starting with RP... will be there in the manager account. Once you login to the manager account, go to "Service Settings", then "Manage Profiles". Here you will see the recurring profile.

Related

PayPal webhook equivalent in PayFlow Pro?

1) How can I come to know if customer has been charged for recurring service in
PayFlow Pro?
2) Is there any webhook equivalent endpoint available in PayFlow Pro ?
Thanks
The Reporting API will be the configuration to use when searching for your recurring billing profiles. Here is a link from the Developer's Page showing how to perform this API call: https://developer.paypal.com/docs/classic/payflow/reporting/#performing-api-searches
Alternatively, you can login to the Manager account and go through the reports manually and looking up the customer's profile information.
Login to the Payflow Gateway - https://manager.paypal.com
Click Service Settings
Under Recurring Billing click on Manage Profiles
Two options:
a. View all Active Profiles
b. Enter Profile ID
Select Search
Once you have located the profile opened you can click, "View Payments" and this will show you the history for the last payment successfully process.

Recurring Payments with Payflow Pro - Invalid transaction type

I have set up a website that uses the PayPal Payflow API to process payment transactions using a live Payments Pro account that has the Recurring Payment service. It works by first requesting a secure token and then committing the transaction. I have this working using both Hosted Pages (layout c) and Transparent Redirect. I'm using the Payflow_dotNet dll which uses the payflowpro.paypal.com URL. However, when I try to submit a transaction to set up a Recurring Payment by setting the transaction type to "R" I get the following error
"result 3 - Invalid transaction type for secure token creation request"
Here is a sample of the NVP string I'm using:
PARTNER[6]=PayPal&VENDOR[13]=me&USER[6]=username&PWD[8]=password&
TRXTYPE=R&ACTION=A&INVNUM=243&PROFILEREFERENCE=243&PROFILENAME[35]=Mark Groseth -- Science Center Fund&
START=09092014&TERM=0&PAYPERIOD=MONT&AMT[4]=1.01&CURRENCY[3]=USD&
CREATESECURETOKEN=Y&SECURETOKENID[32]=05831a20674941089f68d53b7184efff&TENDER=C&
SILENTTRAN=TRUE&RETURNURL[51]=myurl&CANCELURL[42]=myurl&ERRORURL[51]=myurl&URLMETHOD=POST&
BILLTOFIRSTNAME[4]=Mark&BILLTOLASTNAME[7]=Groseth&BILLTOSTREET[20]=1234 Somewhere st 55&BILLTOCITY[7]=Houston&BILLTOSTATE[2]=TX&BILLTOZIP[5]=77018&BILLTOEMAIL[13]=mark#home.com&BILLTOCOUNTRY[2]=US&
FIRSTNAME[4]=Mark&LASTNAME[7]=Groseth&STREET[20]=1234 Somewhere st 55&CITY[7]=Houston&STATE[2]=TX&ZIP[5]=77018&EMAIL[13]=mark#home.com&
COMMENT1[19]=Science Center Fund&L_NAME0[19]=Science Center Fund&L_DESC0[19]=Science Center Fund&L_COST0[4]=1.01&L_QTY0=1&ITEMAMT[4]=1.01
Why doesn't this work?
Am I going to have to create an Authorization transaction and then convert it to a recurring payment profile somehow?
With the PayPal Hosted Checkout Pages the only allowed values for TRXTYPE are "A" or "S" . You cannot use the TRXTYPE=R .
If you have Payflow Pro account then you can directly create the recurring profiles using the recurring Billing API's where you will pass all the credit card info and profile details .
But if you are looking to use the Recurring Billing via the PayPal hosted checkout pages then you should first perform a transaction using the Checkout page and then use the Transaction id( PNREF) to create the recurring Profile. You can refer the below link for more info :
https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/pp_payflowpro_recurringbilling_guide.pdf

Why PayPal Request can’t be processed?

I’m trying to test recurring payment in my paypal sandbox account. I followed this link https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/ht_ec-recurringPaymentProfile-curl-etc/
I have summarized the steps what I follow
Step 1: Get PayPal Token – Completed
Step 2: Redirect customer to PayPal with Token
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=xxxxxxxx
After I send the request, paypal show the following page
After I entered the sandbox buyer account details, paypal display error message like “Currently, we unfortunately can not process your request. Return to Logical IT Solution GmbH and select another option.”
I have tried So many times, PayPal show this message only.
How can I implement recurring payment for my sandbox account without error?
You test German paypal account? If yes than Paypal recurring payments does not work with German accounts or at least not with all of them. This is some legal problem and that's why they disabled it.
Probably German law refuse to store recurring payments data on foreign servers.

ipn using customer business pp account

my ipn works perfectly its setup under our business PayPal account. our asp.net website is being used by multiple customers with their own members, unique by their login. as of now the cart writes to our database with the orders and sets a status code that gets changed to 'completed' via the ipn call/authentication from PayPal using our PayPal email. now, a couple want to use their own PayPal accounts, non-for profits, so in order for this to work as previously described what changes in the post variables?
ex of what i need: a member of our customer logs in to our website, adds items to their cart and chooses PayPal payment option. it writes to our database as an 'in-process' order. it opens our customer PayPal account to complete the payments then once complete it calls our ipn setup under our PayPal account and redirects back to the custom page.
again, everything is already working great just want to call their own PayPal account instead of ours w/o needing to have them setup the ipn settings under their account, but use the ipn setup under our PayPal account. members see their own customer PayPal account billing theme and the money is in their account not ours. is this possible?
do we send the ipn location url and our customer PayPal account info in the post variables?
thanks for any help
As far as processing the payment on their PayPal account, you can go about this 2 different ways. You can either use their API credentials and pass those over in the API call and the payment will be processed on their account. Second option would be to have them grant 3rd party API permissions to your API to be able to process transactions on their account. Then you would just pass over your API credentials in your API call and also pass over their email address of their PayPal account in the variable "SUBJECT". This will then process the payment on their account.
As for still haveing the IPN POST sent to your script, you will just need to pass over the IPN URL in the API call. When pass it over in the API call, it will override whatever is set in the account. For example, if you are using NVP the variable would be "NOTIFYURL".

recurring payment with paypal advanced NOT paypal pro

I am trying to make recurring payment work with PAYPAL ADVANCED
My script works in case of SALE transactions but there are issues when i try to create recurring profile.
ISSUES
When i am posting my request with CREATESECURETOKEN set to Y. It returns Invalid transaction type: Invalid Transaction Type for secure token creation request
Here is the string. Note i have changed user and pass here
PARTNER[6]=PayPal&VENDOR[10]=#####&USER[11]=#####&PWD[9]=#####&CREATESECURETOKEN[1]=Y&TRXTYPE[1]=R&RECURRING[1]=Y&TENDER[1]=C&ACTION[1]=A&PROFILENAME[6]=Gautam&ACCT[16]=4012888888881881&EXPDATE[4]=1214&AMT[5]=10.00&START[8]=06132013&PAYPERIOD[4]=MONT&TERM[1]=0&OPTIONALTRX[1]=S&OPTIONALTRXAMT[4]=2.00&EMAIL[20]=#####&SECURETOKENID[26]=MySecTokenID-51b93e0830f70&RETURNURL[51]=http://localhost:8080/php/test/payflow/advanced.php&CANCELURL[51]=http://localhost:8080/php/test/payflow/advanced.php&ERRORURL[51]=http://localhost:8080/php/test/payflow/advanced.php&BILLTOFIRSTNAME[4]=John&BILLTOLASTNAME[3]=Doe&BILLTOSTREET[12]=123 Main St.&BILLTOCITY[8]=San Jose&BILLTOSTATE[2]=CA&BILLTOZIP[5]=95101&BILLTOCOUNTRY[2]=US&SHIPTOFIRSTNAME[4]=Jane&SHIPTOLASTNAME[5]=Smith&SHIPTOSTREET[13]=1234 Park Ave&SHIPTOCITY[8]=San Jose&SHIPTOSTATE[2]=CA&SHIPTOZIP[5]=95101&SHIPTOCOUNTRY[2]=US
if i set CREATESECURETOKEN to N i receive Invalid merchant information: 10002-You do not have permissions to make this API call
I searched for documentation on recurring payment with paypal advanced but every where i found details about payflow pro. With no information about recurring payment with paypal advanced its not easy to make things work.
Any idea about what is wrong with my post data?.
I posted my query on paypal.com/mts a week back but have no reply.
NOTE: I have subscribed to paypal advanced and paypal recurring payment.
With paypal advanced the transactions are completed on the client website itself and user is never taken to paypal site. Yes it uses iframe for the purpose.
It works for SALE type transaction but not in case of recurring payment.
Payments Pro and Advanced don't support the Recurring Payment API calls. You would be using the Recurring Billing API calls through Payflow. The new Advanced and Pro accounts use Payflow Pro or Link.
Are you setting a billing type in the Secure Token call?
What is the ticket number you submitted? I'd to look up the account to see if the account is setup to use Recurring Billing and was created correctly.
Also, Advanced accounts shouldn't be using the Recurring Billing API calls. It is possible to create Recurring Billing profiles with an Advanced account but they have to be done through the PayPal Manager site.