I'm building functionality in which product payment is divided into two parts -
1. service charge
2. actual payment
service charge payment will be done thr' stripe api (as client wants this gateway)
actual payment will be done thr' any type of gateway as per user selection.
But, crucial part is, both parts of payment should be done on one click.
On one click, it should go to stripe and other gateway that user has selected.
Can it be possible?
If yes, what will happen in the case where one of the two parts of payments is successful and other one failes.
Where can I redirect success url for both types of payments? on same page or another page?
As card details will be given only once by user in one form and submitted, can these details remain secure while processing of two transactions?
I have thoroughly searched for this, but can't find answer.
Thanks in advance.
Assuming this is a credit card payment only (and not a wallet such as PayPal or WebMoney, etc) all you need to do is store the credit-card details at your servers. Just make sure you are PCI compliant for that.
In this case, you will charge the service fee via stripe and the actual payment via the 2nd payment gateway. Just make sure you refund one if the other failed. Also ensure that the user is well aware that he will see TWO charges on his card. I would advise showing that nicely in the invoice page.
So it's not that complex of a flow for stored credit cards, but if you lack the credit card data and let the user pick an online payment option such as PayPal, then you'll need to ensure this online payment is successfully completed before charging the service fee via stripe.
Related
I have setup a Paypal payment environment, for the purpose of selling a certain service. I used Laravel to setup the API endpoints in the server for the creation and the approval of the order.
Whereas in the frontend, I used the paypal buttons, specifying the aforementioned API URL endpoints for the purpose of creating and capturing orders (onCreate and onApprove parameters of the button).
Everything is working as intended, the order is correctly created and verified before the payment is processed, but there's a small problem. For every new order, I have to go to the transaction log of my business account and manually click "Get your money" in order to actually transfer the funds to the account. (Refer to image with a couple of test payments).
With the increasing number of orders, this becomes a very tedious process. I don't quite understand why it is even implemented this way.
Is there a way to automatically transfer the funds to the account when a new order is made?
Have I made a mistake (or missed something) in the implementation of the payment gateway, or is there a default setting in the business account that I have to change?
Any help is greatly appreciated. Please let me know if you require any additional information.
Thank you in advance
Why is the payment pending? The screenshot does not show the details.
Is it a currency issue? If you don't have a balance of EUR on the account, open one if you want to receive payments as EUR, or change your payment receiving preferences to automatically convert to your primary currency balance.
Is the payment an authorization? If so the integration facilitating the creation of these transactions needs to be changed to create transactions that are of type "sale" or immediate capture, rather than authorizations for later capture.
we are trying to add a pre-approval paypal process to our website before a user can bid on any of our items for sale. We currently accomplished this using Authorize.net but want to now integrate paypal as well.
I have been doing some research and am trying to find out if paypal even offers such a solution. The main reason for adding this verification is of course to make sure an individual actually has the money to purchase the item, some items can range from $100-$100,000. Does paypal offer a pre approval process for those types of transactions?
https://developer.paypal.com/docs/classic/api/adaptive-payments/Preapproval_API_Operation/
The Preapproval API gives your application permissions to trigger payments on a user's behalf without further approval (no login required to submit payments with a preapproval ID). There is no guarantee funds will be available when you submit this payment. A transaction with a preapproval ID could simply fail like any other transaction.
It sounds like what you're looking is the Authorization and Capture process, which is probably what you're doing with Auth.net, too.
With PayPal you can run Authorizations from credit cards directly (exactly like you do with Auth.net) and you can also do it with Express Checkout, which would be PayPal login payments.
I want my PHP web application to have the ability to save the user's PayPal details in their user account.
When they go to purchase items, rather than going through the standard PayPal form, it will automatically grab the user's PayPal details from their user account, and make the payment directly from my website. There is definitely a way to do this, as I have seen this feature on sites such as Freelancer.com
Thanks for the help! :)
No, you don't need Payments Pro for that. That would only be if you want to do it with direct credit cards. What you're after in general is called Reference Transactions, and when done with PayPal Express Checkout it uses Billing Agreements.
You'll use Express Checkout and/or Payments Pro (optional) to process an original authorization or sale transaction. Then, you can send that ID you get back in that original transaction along with a new amount in the DoReferenceTransaction API and that new amount will be instantly processed without any redirection or further authorization required.
This question asked before but didn't got any answer.Maybe things have been changed.
When you click the Express Checkout PayPal button on any webshop, it redirects you to a specific paypal login link, for paying the order.
I have been searching high and low for 3 weeks for a simple paypal php curl script that logs you in from this step, and confirms the payment, but have not been able to find anything.
I found out it is not possible to use the API for this, so its gotta be done by CURL.
I'm asking for this because I run a dropshipping website, and would like to automate certain steps, like placing and paying orders. A working code for this would help not just me, but all looking to automate buying in some form.
Thank's!
You can't log the buyer into PayPal when you redirect them to the site. The buyer has to enter their own account credentials themselves.
If you wanted to bill a buyer without requiring they log into PayPal each time you would need to use billing agreements (reference transactions) through Express Checkout. If you set up a billing agreement with a buyer you can charge a previously successful sale to bill them again for a different amount.
You cannot do what you want with Express Checkout, especially since nobody will ever enter the paypal details on your website (that is the entire point of paypal).
You can use either preapproved payments (buyers preappove payments being taken out of their account up to a certain ceiling), or reference transactions (you reference a new transaction to an older transaction. PayPal will then use the billing details of this earlier transaction to bill the user).
Preapproved payments is part of Adaptive Payments. Documentation is at https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/integration-guide/APIntro/
You can find more details about Reference Transactions at https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECReferenceTxns
Note: Reference Transactions needs to be enabled on your account. This API call is not open to everyone due to the potential for abuse, so you may want to look into whether you're eligible for it before you start working on a full integation with it.
You can find more info here :https://www.paypal-community.com/t5/Merchant-services-Archive/Does-Paypal-have-a-quot-Token-Payments-quot-concept/td-p/325794
Also google "token payments" as that is what you need and most payment gateways usually support them.
Let's say, for the sake of discussion, my client does not want to use the Paypal api for transactions. I have already made a shopping cart. The user submits the items on the shopping cart and their credit card number.
Assuming I'm not using any api, how would I then charge the user's credit card for the items on the shopping cart? I understand that it is complex, just wondering what the general process is like and how to get started.
You're going to need to trigger a bank transaction, so obviously you're going to need to use an API at some level. I think the way to go would be to first learn in some detail how at least one of the popular commercial (by definition?) payment card processing services works, e.g.:
https://paymentvision.com/Payment-Gateway/Payment-Gateway-API.aspx
http://aws.amazon.com/fps/
https://www.firstdata.com/en_us/customer-center/merchants/support/first-data-global-gateway-api-software-landing.html
http://www.authorize.net/
The next step would be to design the "payment processing" subsystem of your PHP application/library around the "backend workflow" (perhaps using a 3rd party PHP library, if one is available), and do some testing.
Then I would plan for a security audit of your code & systems before you actually use it to handle payment card information on behalf of a customer/3rd party.
You can also capture all the card information and use an external payment processor. The problem is that you will be hit with major fees since it will be considered a keyed in and not swiped transaction.
If you don't want/like paypal, don want to use a payment processor like authorize.net, you could look at other options like stripe.com.
Find an payment gateway, such as authorize.net. With payment gateways such as this, your client will need to sign up for a merchant account with a credit card processing agency. You payment gateway can help you with this.
Then, you'll usually get a token or api key that you will use to connect to the payment gateways services. From php, you'll use cURL or fsockopen to connect to them. Securely send your api key, get a response, then send some other required message, get another response, and then send in credit card information and credit card holder information.
There are lots of PHP Libraries to choose from out there for different payment gateways. I'm not suggesting authorize.net, it was just an example. But when you find one you are happy with, and happy with the fees that are associated with processing credit cards, you can either use a prewritten library, or they payment gateway will provide you with and API that will tell you how to integrate with their system.
Payum efficiency proved by 1k+ stars on a GitHub, great comments and a million of downloads. Supports 50+ different payment gateways so you surely find what you need.