Can one Create Auto Orders using PayPal payments api - where tokenised payments are initiated from website not using paypal repeat purchases? - php

We currently have a website that uses eWay token payments and setup Auto Order for customers. They can manage what items are in the auto orders and at what frequency the orders will be placed.
After the first order we can save the users 'Token' with eWay and charge their card at each instance.
We would like to add in the ability to pay with PayPal, but cannot see a similar feature where future orders can be placed without the user interacting.
The issue is that the price may differ from original payment, as discounts for the item may change or the user could add in other products to the auto order. So we don't want to have a repeat purchase setup in PayPal, rather automatically charge the users account when needed.
Been looking through paypal API docs and nothing is jumping out as the correct way to proceed.
We have tried payments through eWay to PayPal however they are not supporting paypal through their gateway anymore so are not much help.
Our website is PHP, Mysql driven and we currently use PayPalExpress checkout API for single orders.

For PayPal, the receiving account needs a feature called "reference transactions". This is not enabled by default in the live environment (though it is in sandbox). It requires business approval, so the PayPal account owner should contact PayPal's general customer support or an account manager (note: not technical support) to discuss the business need for the feature.
Once approved for the "reference transactions" feature on a live business account, PayPal can guide you on which API to best integrate to make use of this. Something like v2 or v3 vault and that API's payment tokens are a possibility that sounds exactly what you are describing, though there are other (older/legacy) APIs that use something called a "billing agreement" as what's effectively a token as well.

Related

Marketplace using Paypal

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

PayPal classical API with reoccuring payment in Laravel 4.2

I am working on Laravel 4.2 project. The project is about to provide the Video services to the dedicated customers.
The client wants to use PayPal payment gateway and I have never done this before. He has provided me a Personal and a Business account with Classical API credentials and signature.
The project requirement is once user sign-up, he will be charged certain amount (let us say $10 every month). For payment he must NOT be redirected to PayPal site that means everything should be done using my website only. Also we will NOT store any credit card details of the user and still the Payment should be done OR renewed automatically every month.
If user wants to turn of the the auto renewal of payment, he can.
I am not sure how to do this using PayPal classical API. Although I have downloaded the Omnipay/Omnipay package from git-hub, they asks there is no method to store the user's credit card details in PayPal Vault using this also to have a cron job for auto renewal. Since I don't want to store the credit card details, I am not sure how to do all this.
Please help me or guide me to do so. Is there any sample or example?
In order to take credit cards directly like you're asking you'll need to sign up with PayPal Payments Pro, which is $30/mo. Then you'll need to add the recurring billing feature to that, which is another $30/mo.
If that's not a problem, then after getting those things approved and active on your account, you would use the CreateRecurringPaymentsProfile API to create the subscription profiles.
This PayPal PHP SDK is available on Packagist and works with Composer, so it works wonderfully in Laravel.
The CreateRecurringPaymentsProfile sample is functional as-is (although, as I look at it now you'll need to update the expiration date of the credit card) so you would just need to replace all of the static data with your own dynamic data.
The template file is the same thing but it's completely empty and ready for you to populate with your own data.
Using that SDK you can have the profile creation working within minutes, so it's just a matter of having Pro w/ Recurring Payments enabled on your account.

How do large merchant resellers process payments and payouts?

I am looking for information on how large resellers collect payments and pay the people who sell on their site. (e.g. Redbubble.com, a company that pays artists a commission for their work)
Specifically, I am looking for different solutions that cover a few key functions at minimal cost (like Paypal fees)
Ability to take payment from credit cards and paypal (others a benefit)
Track sales for each merchant as payments are processing
Collect payments in central account
Payout all processed payments on a monthly basis
P.S. I imagine there are a few ways to do this, I am hoping to gain some insight on what solutions have been proven.
P.P.S. This is not a technology specific question. Whatever APIs or third party solutions you know of are fair game.
Thanks for your knowledge!
Try PayPal adaptive payments.
Paypal Adaptive payments
You can also try Stripe to collect funds to one account and to trasfer them to third party acccounts but this only works in the US.
Stripe Payments
You could use the Adaptive Payments API and that would allow you to split the payments up among multiple receivers in a single transaction in real-time. If you go that route the API calls that you'd be interested in are...
Pay - This setups the actual payment and the receivers on the payment.
SetPaymentOptions - This allows you to provide more details like items, shipping, etc.
ExecutePayment - This actually processes the payment in the system after it's been setup with the previous calls.
PaymentDetails - This obtains details about a completed transaction.
Preapproval (possibly) - This allows you to get a Preapproval key for a user that will allow you to trigger payments on that users behalf at any time in the future with the use of the preapproval key.
PreapprovalDetails (if you use preapprovals) - This obtains details about an active preapproval profile.
To get all of that working in the live environment you'll need to submit an application through your PayPal developer account to obtain a Classic API App ID. For development on the sandbox there is a global App ID that can be used.
Another option would be to take payments on your site using any PayPal product like Payments Standard, Express Checkout, Payments Pro, etc. and have all the money come to your account, and then use the Pay API to distribute those funds out to people accordingly. This could be automated with an IPN solution and possibly the use of a CRON job on your server.
This is the method I like to use, and I typically go with a full Payments Pro / Express Checkout integration for payments on my site and then I distribute via the Pay API within an IPN solution or CRON job like I mentioned.

PayPal checkout solution confusion

I am trying to figure out exactly what payment solution to use for my site.
I would like to do the same thing as Spotify (https://www.spotify.com/us/freetrial/ - You'll need to login to see it), allowing users to choose whether they want to pay with PayPal or use a credit card and then taking them to a payment selection screen (on PayPal), then returning them to my site to click confirm and buy.
I am already paying for recurring payments (even though I've yet to use it) and am unsure if that is applicable here. I have also integrated express checkout but I don't know if it will allow recurring payments.
EDIT: Do I need a separate token for recurring payments? Do I have to use the old recurring payments checkout screen? How can this be done as efficiently as possible, like Spotify? Here are my efforts to create a recurring payments profile after express checkout: http://pastie.org/private/sakzopltnwfv93wwmduqq
Diagram:
Select Buy & PayPal (subscription) --> Choose Payment (on PayPal) --> confirm & pay (my site)
This is what spotify's checkout looks like (It wouldn't say update for first time users):
Are they using recurring payments + express checkout? I would really appreciate some help with this.
Yes, you can get this done with Express Checkout + Recurring Payments. That said, if the person chooses credit card when setting up a recurring payment they will have to create a PayPal account. If they're paying a non-recurring checkout then they could use the credit card option without creating a PayPal account.
You mentioned that you're already paying for recurring payments..?? Are you referring to Payments Pro? If so, you don't need to pay for that to use EC + RP. Pro is only necessary if you want to process credit cards directly on your site without ever redirecting to PayPal. This can sometimes make things seem a little more professional and would also give you the ability to let people setup recurring payments without creating a PayPal account when using a credit card.
When using EC you just need to make sure to include the billing agreement parameters in order to get a token back that will work within CreateRecurringPaymentsProfile. Refer to the SetExpressCheckout API reference for more details on that.
This is kind of old now, but is still useful. Take a look at this sample express checkout set of api calls. You'll notice it uses the same token throughout all of the calls.
Just like Spotify -you would need to build that option on your site. If the user chooses to subscribe with a credit card - use the recurring payments w/ direct credit card (see below). If the user chooses to subscribe with a PayPal account - use the recurring payments w/ PayPal Account (this is what Andrew is suggesting above in his response).
Here are the how-to guides:
For direct credit card subscriptions: https://www.x.com/developers/paypal/documentation-tools/paypal-payments-pro/how-set-recurring-payments-profile-using-direct-payment
For PayPal Account subscriptions: https://www.x.com/developers/paypal/documentation-tools/express-checkout/how-to/ht_ec-recurringPaymentProfile-curl-etc
The APIs would allow you to do things like trial periods, setup fee, etc. For example here is a how to on building a freemium kind of model: https://www.x.com/developers/paypal/documentation-tools/express-checkout/how-to/ht_ec-freeTrialRecurringPayments-curl-etc

Paypal / Google checkout integration

Is it possible to integrate the Google Checkout API or Paypal API with my marketplace? I am using PHP to generate the market, one auction at the time. I have a MySQL database containing all of the market actions, however, I was wondering. Can I use either Google Checkout or Paypal to dynamically generate the Checkout process, and give the proceeded money to the user whose posted action, then notify me?
I am able to load User details from the MySQL database aswell.
I looked at the 'StackExchange' network, however; I could not figure out where to place this question. Therefore I assumed this was the best place ?
Google Checkout as the term implies is pretty much what it says - it allows a merchant to outsource their checkout operations to Google. I don't think it's a fit because in your case, "merchant" is "dynamic" - its different sellers across auctions. Additionally, Google Checkout isn't for person-to-person payments - its specifically for a merchant (store) to sell products and service at it's web site and have the checkout process handled by Google.
Look into Paypal Adaptive Payments.
You can also look into Amazon FPS .
I'm not familiar with your project's terms such as 'generate the market', 'market actions'
PayPal has reference tranactions in which you can charge same customer's credit card again without storing actual credit card.
Authorize.Net has CustomerPaymentProfile in which they store your customers's credit cards. Then you can submit each customer's paymanet profile, and they'll charge the card for you.
I'm not familiar with Google's automatic checkout without actual credit card.

Categories