I have used SetExpressCheckout API on this page https://devtools-paypal.com/guide/expresscheckout/php?interactive=ON&env=sandbox
I am building a site that the user update their paypal account in my site.
they only can check out by provided account in their profile.
When checkout, is there any way for SetExpressCheckout API to set default paypal account which provided in my site.
You can set the EMAIL= variable when doing SetExpressCheckout, but you can't force them to log in with that account. It will also be overridden if they have logged into another account recently.
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.
For more information see: https://developer.paypal.com/docs/classic/api/adaptive-payments/Pay_API_Operation/
Related
Is Authorization & Capture payal feature available for users who don't have a paypal account? Is it mandatory for my users to have an account? I have a business account. Thanks in advance.
Yes, I tested this on the sandbox and it works just fine running an authorization with guest checkout.
You do need to make sure you have "PayPal Account Optional" enabled in your PayPal profile, and then you need to make sure and include SOLUTIONTYPE=Sole&LANDINGPAGE=Billing in your SetExpressCheckout request.
This will give the users the ability to checkout with guest checkout (credit card without creating a PayPal account) and you can do Auth & Capture just fine this way based on my tests.
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".
I'm trying to refund transactions using the Paypal NVP API. I've got some payments in a sandbox account, but when I try to issue a refund though the API I get You do not have permissions to make this API call. But I'm not sure what credentials I should be using.
According to the documentation, it says:
To access the PayPal API, you need API credentials, either an API
signature or API certificate, that identify you. Use the following
sample API signature and password in your sample programs that run in
the PayPal Sandbox test environment.
API username sdk-three_api1.sdk.com
API password QFZCWN5HZM8VBG7Q
API signature A‑IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU
I tried generating API credentials for the sandbox merchant account that's issuing the refunds, but the Paypal website crashes every time I try. Are these the correct credentials? What do I need to do to test this?
Your test accounts do not have credentials.
To get started with Payment Card in Sandbox, you must first create a buyer test account and enable in-store checkout.
After login sandbox you will find that option in menu API and Payment Card Credentials
and then click it you will get option Create Test Account and after create account you will get API Username, API Password and Signature.
Use those API Username, API Password and Signature in your application.
I found these details in my account after logging in:
go to the sandbox tab
below this you will find Accounts. Click on Accounts.
All your email lists will be shown.
Click on the email id that belongs to the Business account.
You will see two options: profile and notifications below the email id's.
After clicking on profile one window will pop up with name Account details.
In that you will see the tab API Credentials. In this you will find your username, password and signature. Please note : You will find these details only in your Business type account, not for buyer type.
When the PayPal transaction is complete, PayPal shows this:
Thanks for your order
Your payment of $XXXX.XX USD is complete.
You're now going back to MYSITE.
If you are not redirected within 10 seconds, click here.
I don't want the client to even see this page. Is there any way to either avoid it completely, or set the redirect time to 0?
You will also need a Website Payments Pro subscription for that.
https://www.paypal.com/webapps/mpp/website-payments-pro
Once you have it, get the API signature, API username & API password from the My Profile area of your paypal account.
Then, use the Direct Payment method as described in the following manual
https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_WPP_IntegrationGuide.pdf
As mentioned by Watermark, you might need to review PCI requirements and at least have SSL on your site before you can do this.
Check out https://developer.paypal.com/. You can build your own interface using PayPal's API. The user will never know that PayPal handled the transaction.
Be sure to review PCI-DSS requirements when using this approach.
What you ask is achievable with PayPal Payments Standard, but the seller account receiving the payment needs to be a PayPal Business/Premier account (a free upgrade), and they need to enable Auto Return and provide a Return URL in their PayPal account > Profile > Profile & Settings > My Selling Tools > Website Preferences.
You can also pass a return URL variable to checkout for each order, which would override any Return URL (or lack thereof) in the seller's PayPal account profile; however, if Auto Return is not also enabled in the seller's account, the buyer would need to click past the end of checkout manually in order to be redirected to that URL.
I'm using PayPal Website Payments Standard. Whenever the user lands on PayPal with the variables I sent, it shows a PayPal Login form and at the bottom it shows "Don't have a PayPal account? Use your credit card or bank account (where available)."
I want it to default to always ask for credit card and maybe say "Have PayPal? Use that!". Any ideas?
I've struggled with this question and found the answer following Roberts comment about using LANDINGPAGE=Billing in the ExpressCheckout API.
From the page:
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_SetExpressCheckout
LANDINGPAGE:Type of PayPal page to display.
It is one of the following values:
Billing – Non-PayPal account
Login – PayPal account login
Additionally see:
SOLUTIONTYPE: Type of checkout flow. It is one of the following values:
Sole – Buyer does not need to create a PayPal account to check out. This is referred to as PayPal Account Optional.
Mark – Buyer must have a PayPal account to check out.
NOTE:You can pass Mark to selectively override the PayPal Account Optional setting if PayPal Account Optional is turned on in your merchant account. Passing Sole has no effect if PayPal Account Optional is turned off in your account
Hope this helps.
On a thread in the PayPal Developer Community they explain it with cookies based visits to the checkout page.
Basically if PayPal detects you being a user and spots their cookie, they will show the login form by default.
If they can't see that cookie, then they will show the credit card option first with a note that if you already have a PayPal account, to log in.
So the answer is no.