I use this URL for express checkout with paypal (in production):
https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=MYTOKEN
it gives me an unpleaseant server error on paypal side. I am not sure if this is the correct URL or not or if this is a paypal error.
Instead this works very well (in testing mode):
https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=MYTOKEN
Is there something I miss? paypal error page is 4011.
Related
I try to integrate paypal express checkout on my application.
when I use a paypal account to pay, it works.
When I choose not to use a paypal account but pay by credit card and not creating an account (on the sandbox) when I click on the "pay now" button, it "processes" for a while and return to the "PayPal Guest Checkout"
when looking at the browser console log, I got the next error on my client side.
POST https://www.sandbox.paypal.com/webapps/xoonboarding/api/onboard/guest 400 (Bad Request)
I use the javascript checkout sdk on my client side:
the test paypal payment id is: "PAY-0TR22559BT642343YLD4EHJA"
Are you still facing this issue? If you're, can you file an MTS ticket and send to them? They usually will be able to investigate through your sandbox account and see if there's any issue with the account or the integration.
https://www.paypal-techsupport.com/
I'm integrating a .Net application with PayPal Express Checkout.
I'm using the PayPal SDK for .Net to call SetExpressCheckout and DoExpressCheckoutPayment.
I'm using the In-Context javascript API as described in the Advanced In-Context JavaScript settings
PaymentAction is Sale, SolutionType is Sole
We've had occasions where we received a 10486 error. PayPal's recommendation for recovering from this is to redirect back to PayPal with the existing payment token
Upon receiving this error code, redirect the buyer back to PayPal
using the existing Express Checkout token. On the PayPal page, the
buyer is presented with an error message explaining the reason for the
decline.
I have 2 questions about PayPal's recommendation:
Doing the redirect
How should I redirect the buyer back to PayPal? Initially I just use the following JS:
paypal.checkout.startFlow(data.token);
Should I do the use same JS again after I receive the 10486 error, or use some other method?
Where is the error message?
I've already tried using the approach above, as well as manually just redirecting to
https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=[TOKEN]
After the redirect I don't see the error message explaining the reason for the decline that the PayPal instructions say I should.
Am I doing something wrong?
I'm attempting to conduct financial transactions with the paypal api using what their documentation describes as 'in context, express checkout'. I have everything working properly when I use USD as the checkout currency but I'm having trouble using HKD and I will outline my situation below.
Given a normal in context express checkout flow of
get express checkout token
give user a link that paypal checkout.js detects the click of
user authrorizes the in context transaction
paypal post the token/payer_id back to my server
USD FLOW - everything ok
get express checkout token,
POST TO PAY PAL
"USER=hidden-facilitator_api1.gmail.com&PWD=NWhidden3TK&SIGNATURE=Arhidden3tCjMfqZyNAlfdDvZ6YAyktOYxObIAzKBgV0N2&METHOD=SetExpressCheckout&VERSION=109.0&PAYMENTREQUEST_0_PAYMENTACTION=SALE&PAYMENTREQUEST_0_AMT=2000.00&PAYMENTREQUEST_0_CURRENCYCODE=USD&RETURNURL=http://localhost:3000/checkout/complete?cartId=126&CANCELURL=http://localhost:3000/checkout/cancel&LANDING=Billing&ADDROVERRIDE=0&NOSHIPPING=1"
Returns Express checkout token
EC-8GN42843W29871826
Which I then embed in the browser as
https://www.sandbox.paypal.com/checkoutnow?useraction=commit&token=EC-8GN42843W29871826&ul=0
Which works fine, initiating the in context checkout flow as referenced here,
https://www.dropbox.com/s/nbigq78achl0xsy/Screenshot%202015-08-05%2011.43.12.png?dl=0
HKD FLOW - everything BROKEN
GET express checkout token
POST TO PAY PAL
"USER=hidden-facilitator_api1.gmail.com&PWD=NWXhiddenTK&SIGNATURE=ArOphiddenzfdDvZ6YAyktOYxObIAzKBgV0N2&METHOD=SetExpressCheckout&VERSION=109.0&PAYMENTREQUEST_0_PAYMENTACTION=SALE&PAYMENTREQUEST_0_AMT=2000.00&PAYMENTREQUEST_0_CURRENCYCODE=HKD&RETURNURL=http://localhost:3000/checkout/complete?cartId=126&CANCELURL=http://localhost:3000/checkout/cancel&LANDING=Billing&ADDROVERRIDE=0&NOSHIPPING=1"
Returns Express Checkout Token
EC-4JK68416ST774680H
Which is embedded as get in the browser as
https://www.sandbox.paypal.com/checkoutnow?useraction=commit&token=EC-4JK68416ST774680H&ul=0
Which when clicked actually totally hijacks and pretty much breaks the checkout process, the in context browser 'modal' opens but then something bad happens, the browser modal window closes itself and the parent browser context appears to be in some kind of redirect loop.
https://www.dropbox.com/s/y2snlujy8mtljwv/Screenshot%202015-08-05%2011.47.18.png?dl=0
I've contacted PayPal merchant/technical support crew and their answers were so bad it was almost like they either weren't reading my email, didn't care about my problem or just generally were incompetent and I hesitate to criticize someone professionally, but if paypal is taking a cut of transactions, I expect the supporting api and documentation to not be terrible.
What can I do in this situation to gain further insight into the problem that I'm having ?
Cheers and thanks,
JD
UPDATES:
The process is failing specifically related to HKD when I attempt to launch the in context browser window with paypal.checkout and I can successfully complete this process with other foreign currencies including (but not limited to) 'PLN' (polish zloty), 'DKK' (danish krone) but fails for 'HKD' (hong kong dollar) and 'THB' (thai baht), so maybe paypal checkout.js doesn't like certain regions ?
It would appear that the devil was in the details but PayPal express checkout and pay pal checkout support HKD but in context checkout using checkout.js does not support this and my troubles were tied to erroneously believing the the false parts.
https://www.dropbox.com/s/g7s0i5g0y718c8r/Screenshot%202015-08-05%2013.44.27.png?dl=0
Does PayPal provides IPN response during sandbox usage? I create no payment via NVP call, redirect to PayPal site, login, "pay" (in sandbox mode) and go to the return page which I set in my payment call. But there is no ping from PayPal to my IPN address :(
Should it work in sandbox, or users are able to test IPN responses only in production mode?
Thanks for help.
Propably found the solution. I passed in my PayPal URL useraction=commit parameter. When I removed it, and used doexpressCheckoutPayment, everything works fine ...
MY Paypal IPN code is executed only when payments are made without checking out from the wp e-commerce shopping cart. If payments are made directly through paypal, then my IPN works fine.
However, if payments are made through the wp e-commerce checkouts then my IPN code will not get executed at all.
In my wp setting, I've made sure the followings are done:
my API username, password and signature.
IPN is enabled.
In my paypal account, I've made sure the followings are done:
IPN URL is set and IPN is enabled.
Does anyone have the same problem? I've done a lot of research and I'm still not able to solve this problem. I don't have "Bad Behaviour Plugin" which is suggested by some as the reason to this blocking of execution.
Thank you!!