Onsite Recurring Payments using Paypal Website Payments Pro API - api

I want to accept recurring payments on my site using paypal without having the user ever leave my site. Based on the paypal documentation it appears you have to send the user offsite to paypal (express checkout) first and then have them come back to your site.
Is their a different way of using the api so the user stays on site the entire time?

To Process payments not on PayPal's website, you need to use Website Payments Pro.
To use PayPal's recurring payment system, without programming your own:
Use Website Payments Pro Recurring Payments (direct payment recurring payments / DPRP)
Program your own recurring payment functionality:
Save cc info to a database and make DoDirectPayment API calls based on your criteria
Process an initial payment when someone signs up for your recurring service, save the transaction ID, and then call DoReferenceTransaction in the future (based on your criteria). Always use the newest transaction ID as they only last a year. Also, you need to call PayPal to apply for this feature ($0).

Related

Paypal express checkout recurring payment with credit/debit card next steps

I have integrated paypal express checkout on my website. Currently with paypal account Pay as go and recurring/subscription payment both works as expected.
Now I am trying to integrate credit/debit card purchases for my website.
At first , in order to do that I have enabled "PayPal Account Optional" is "ON" in my PayPal account and set following on express checkout parameters SOLUTIONTYPE=Sole and LANDINGPAGE=Billing. After doing these steps
for only pay as go payment on paypal site "Check out as a guest" option showing but for recurring/subscription payment "Check out as a guest" is not showing.
Please kindly guide me on following:
What I have to do in express checkout functionality in order to enable paying through credit/debit card directly ?
Why paying through credit/debit is not showing for recurring/subscription payment ?
Whether it's possible or not to integrate credit/debit card functionality with express checkout?
Thank you in advance for your guidance.
When working with Express Checkout and Recurring Payments the user has to create an account or sign in. Guest checkout is not available with recurring payments.
To setup profiles with credit cards you'll need to sign up for PayPal Payments Pro. Pro itself costs $30/mo, and then you'll have to add Recurring Billing on top of that, which is another $30/mo.
Sometimes they'll negotiate with you on those monthly fees depending on the volume you'll be doing. You may want to give PayPal a call.
Once that's all activated on your account you'll just use CreateRecurringPaymentsProfile on its own, and you'll pass the CC details directly into that. So you'll be building the CC form on your site, which means you'll need an SSL to protect it, and you'll need to make sure you don't save any credit card details on your own server in the database, in log files, or anywhere.

Paypal Pro API for monthly payment with variable amount each month

I need suggestion for paypal pro API which allow me to pass variable amount each month. For some months,it can be zero too.
I tried with UpdateRecurringPaymentsProfile but it gives me error of 11592 (Subscription profiles are not supported for recurring payments).
Please someone help me with easiest solution.
Based on the error you mentioned it sounds like you're using a PayPal Standard Subscription button, not Pro. If that's the case, then as the error says, you cannot update standard subscriptions with the APIs. You would have to use the recurring payments API to create the profile in order to then update it.
That said, you won't be able to do variable amounts with recurring payments profiles. you can only raise them by 10% every 120 days, so that typically doesn't work with what you're trying to do.
Instead, you'll need to use reference transactions. So if you're using Payments Pro that will be real simple. You just pass in the transaction ID of an original authorization or sale transaction along with a new amount you need to charge. PayPal uses the card details on file to process the new amount.
If you're using DoDirectPayment then you'll use DoReferenceTransaction for the future payments. If you're using PayFlow you would use the PayFlow API, of course, and change the parameters to match a reference transaction request.
You can also do the same thing with PayPal Express Checkout, but in that case you'll need to include billing agreement parameters in the SetExpressCheckout request, and then you'd use the billing agreement ID you get back from that in the DoReferenceTransaction request.
In any case you'll need to build your own script to run everyday, pull profiles that need to be charged, and charge them accordingly.

How To Know if a paypal transaction is succeed?

I am creating a website where user can buy digital stuff. Its not downloadable material or something like, just a sensitive data.
I used paypal payment button and integrated it to my website. I tested it using paypal sandbox. So, i would like to perform a certain action once the user purchase the item and roll back to the site. So please tell me how it is possible?
For any post-transaction processing you want to do you should use Instant Payment Notification (IPN).
Instant Payment Notification (IPN) is a message service that automatically notifies merchants of events related to PayPal transactions. Merchants can use it to automate back-office and administrative functions, like automatically fulfilling orders and providing customers with order status.
For PHP PayPal provides a basic IPN script to get you started. Alternatively, you could take a look at this IPN template solution I put together many years ago. It has an installer that sets up a MySQL database for you, and then it automatically saves all of the IPN into the database and emails you notifications. You could start with that and then easily customize it to suit your needs.

Shopify API - Payments

I have been reviewing the API documentation for Shopify and am trying to figure out if the cost of an item selected from the 'Store' can be passed in a Get command back to a different website so a different website can charge for the Item along with other charges from a website ...and then once the payment goes through on the website, send a POST to shopify that the sale was complete and proceed with fulfilling the order?
Our software is newspaper software so we provide newspapers with subscriber web portals were customers can sign up and pay for a newspaper subscription.
We would like to offer the ability to add Single Sales items to what a customer purchases and we want to be able to do it in one payment transaction
I have reviewed the various Shopify API documentation but it is not clear if the API supports getting cost info and posting a successful charge back to Shopify to complete the fulfillment step. We are looking to be able to GET the cost for a selected single sale item passed to us from the Shopify API so that we can add it to the Amount we pass to the Payment Gateway we integrate with and when the payment goes through, send Shopify a success on the payment.
The ultimate goal is to have a customer make one payment that can include single sales items as well as a newspaper subscription or day pass.
You should do a POST and create an Order using the Shopify API once (at your side) are sure the payment has gone through.

PayPal subscription vs recurring?

Can someone explain the difference between the two? From what I have read, subscription is the one where you grab the HTML button from PayPal, whereas recurring is done via the API.
Is that it or is there more to it?
If so, how do subscription customers cancel their subscription?
(And, why does PayPal make it so developers have to trawl forums for answers?!)
PayPal's different type of recurring transactions:
Subscription
A subscription is created via a Website Payments Standard Subscribe button.
Before 2009, the subscription profile ID started with S-XXXXXXXX. You are not able to manage these subscriptions via any API calls.
After 2009 the subscription profile ID starts with I-XXXXXX. You are able to cancel these subscriptions via the ManageRecurringPaymentsProfileStatus API call.
Recurring Payments Profile
A recurring payments profile is created through the CreateRecurringPaymentsProfile API, and is accessible for both Express Checkout users, as well as those using Direct Recurring Payments as part of their Website Payments Pro Product.
If you use CreateRecurringPaymentsProfile via Express Checkout, you'll need prior authorization from the buyer, typically obtained by passing BILLINGTYPE=RecurringPayments in your initial SetExpressCheckout API call.
If you're using Direct Recurring Payments, you'll be able to directly pass in the credit card details into the CreateRecurringPaymentsProfile API call.
Recurring Billing
Available for Payflow Pro / Website Payments Pro Payflow Edition customers. This works similar to Direct Recurring Payments, except it's done through the Payflow API.
--
In all cases, a 'profile' is created, and PayPal is the one doing the actual billing on the schedule that you provided. You don't need to make any further API calls for the subscription / recurring payments profile / recurring billing profile to be processed.
And one more thing that I noticed.
When we make an API call to get the Transaction-details for a recurring/subscription transaction, the subscriptions which have their Profile-ID's starting with 'S-' have their TRANSACTIONTYPE as 'subscr_payment' and the subscriptions with Profile-ID's starting with 'I-' have their TRANSACTIONTYPE as 'recurring_payment'
Don't know if I am completely right.