Prefill customer email via Stripe Payment Link URL - forms

I'm testing out Stripe's new Payment Links in a project, and I'm trying to prefill a user's email address in the email field of the checkout form. I tried appending the payment link URL with the "email" data attribute, which doesn't work, the data isn't passed on:
https://buy.stripe.com/14k...fYZ?email=johnsmith#gmail.com
I know Stripe's client-side checkout solution does allow for this, but I'm trying to just use the Payment Link, since it's so much simpler. Any help would be greatly appreciated, thanks!

Update: it looks like this is now possible using URL parameters including ?prefilled_email. See documentation

Stripe Payment Links do not support pre-filling the customer's email.
However, if you're comfortable writing some code, you can use the Stripe API to create a Checkout Session with a pre-filled email. Once you create the session you can send your customer to the url provided in the Checkout Session object.

You can't pass query string params to Stripe payment links but there is a workaround using PriceBlocs payment links which are built on top of Stripe Checkout.
You can pass params for the following Stripe Checkout params:
customer
customer_email
email (alias for customer_email)
client_reference_id
Heres a working demo link with an email param appended. When checkout starts, you'll see the Stripe checkout email field is pre-filled.
https://priceblocs.com/test/links/1owa3UYo-2hKvRIXJEu79?email=someone#email.com
And then they'll get forwarded into the Stripe checkout session call.
That way you'll get the result you want without having to write any backend code.
Docs for payment links are here.
API docs are here.
And there's a link builder playground here.

Related

How use PayPal API Request Money?

I need to use Request Money by PayPal. I have problem with find the best Paypal API (SOAP/REST) for this. After that i need sometimes refund this transfer.
Can somebody help me to ?
I want to see if there is a way to automate the PayPal request money part.
This is a PHP web application.
A sample payment link :
https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=YOUR_PAYPAL_EMAIL&amount=10&currency_code=USD&item_name=test
Edit the value of each variable and you would be able to generate a payment link on your demand. You may also check below link for more details of PayPal Payment Standard 's variables.
https://developer.paypal.com/webapps/developer/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/
You can send PayPal Invoices to people using the Invoicing APIs. For that you may be interested in our PayPal class library for PayPal, which makes those API calls very quick and easy.
Alternatively, you could build a more simplified money request by just generating a PayPal Standard payment URL using the variables outlined here. Then you could have that URL be a link from any button or trigger you want.

Retrieving payment URL for a Paypal Invoice

As far as I can understand the standard Invoice flow (https://developer.paypal.com/docs/classic/invoicing/IntroInvoiceAPI/), it's supposed that the user will pay the invoice following the link in the invoice email sent by Paypal, or by using a QR code printed somewhere.
It isn't actually possibile to retrieve the payment URL contained in the email or in the QR code directly via API, so the user can be immediately redirected to payment page?
At this time, you can manually build the payment URL with the following template:
https://www.paypal.com/invoice/payerView/details/<invoice_id>
There are other parameters that you can pass with the URL, but they don't seem to affect the ability of someone paying the invoice.

How to prefill PayPal email on login form?

I am using PayPal's login (https://devtools-paypal.com/guide/openid) integration script to get consent from my website users. I would like to send email field prefilled on PayPal login page. I tried sending through query string but that doesn't work. Can we do it?
Any help would be much appreciated. Thanks
If you are using ExpressCheckout you can pass the EMAIL field with this address, however, it will be overridden depending on the browser.
The only option to force an account when logging in is to use AdaptivePayments. You would set senderEmail and they should not be able to change it.
According to PayPal support team, this feature is not available as of now. They have added my request in the feature list so hopefully we can expect it in future.

Paypal no BUTTONSOURCE in return URL

I'm trying to integrate booking system everything was fine in posting and other flow. But after paypal payment page and return to my url BUTTONSOURCE was empty.
any suggestion?
Did you include it in both DoExpressCheckoutPayment as well as SetExpressCheckout?
BUTTONSOURCE must be included in both.
Although you'd probably be better off using CUSTOM or INVNUM if you want to use it to link orders on your end together with PayPal transactions.

How to link username in site to PayPal information email?

It's not a problem but i don't know how to do this; let's say that I have a sign up form with some fields: username, password, email, as you know the user clicks on the BUY BUTTON and pay's up.
Well, how can I know the username that just made the payment, I mean how can I link those two things together, one idea it's to use the email address, but mose of the people sign up with different email addresses, mabe they have a different paypal address...you know...I need this information because I need a way to activate the account.
And I also need to know, if the user canceled a subscription will paypal post a message to my IPN link?
I suggest you use the following PHP script for easy integration with PayPal's service (assuming you're using PHP): http://www.micahcarrick.com/04-19-2005/php-paypal-ipn-integration-class.html
If you do, the e-mail you will be looking for will be supplied in
$paypal->ipn_data['payer_email']
(again, assuming that $paypal is your object of the paypal_class class)
Obviously you have to follow the setup steps first. I suggest using the example script. It is really easy to do - in only four steps.
I suggest you read the official paypal documentation about IPN and recurring payments.
PayPal issues a IPN for every event that occurs to the user subscription, for example:
subscr_signup
subscr_eot
subscr_cancel
subscr_failed
About the parameter, you can use a parameter named "custom" to pass a value, for example the user id or email, and that parameter will be sent you in every IPN.
Here are implementations of the PayPal IPN in both C# and VB:
http://www.xdevsoftware.com/PPIPNDesc.aspx
Here's an account of how I incorporated it into a PayPal subscriptions scenario:
http://www.codersbarn.com/post/2008/07/10/ASPNET-PayPal-Subscriptions-IPN.aspx