Reputation: 1482
I am using OmniPay for paypal express payment with laravel. One time it worked. But now it is only breaking into the paypal page with the following error:
Sorry — your last action could not be completed If you were making a purchase or sending money, we recommend that you check both your PayPal account and your email for a transaction confirmation after 30 minutes.
If you came to this page from another website, please return to that site (don't use your browser's Back button) and restart your activity.
If you came from PayPal's website, click the PayPal logo in the upper-left corner to return to our home page and restart your activity. You might have to log in again.
Dispatch Error, please check logfile for more information
public function paypal() {
$gateway = Omnipay::create('PayPal_Express');
$gateway->setUsername('XXXXX');
$gateway->setPassword('XXXXX');
$gateway->setSignature('XXXXX');
$gateway->setTestMode(true);
$bookX=new BookingEx();
$bookX=unserialize(\Session::get('booking_data'));
$args = array('amount' => $bookX->total,
'returnUrl' => 'http://localhost:8000/booking/paypal-return',
'cancelUrl' => 'http://localhost:8000/booking/paypal-cancel',
'description' => 'Your booking $ limousinesydneyaustralia.com',
'currency'=>'USD');
$response = $gateway->purchase($args)->send();
if ($response->isRedirect()) {
$response->redirect();
} else {
//display error
}
}
Any idea please?
Updated: Here is what I get just after I call purchase method:
> Omnipay\PayPal\Message\ExpressAuthorizeResponse Object (
> [liveCheckoutEndpoint:protected] => https://www.paypal.com/webscr
> [testCheckoutEndpoint:protected] =>
> https://www.sandbox.paypal.com/webscr [request:protected] =>
> Omnipay\PayPal\Message\ExpressAuthorizeRequest Object (
> [liveEndpoint:protected] => https://api-3t.paypal.com/nvp
> [testEndpoint:protected] => https://api-3t.sandbox.paypal.com/nvp
> [parameters:protected] =>
> Symfony\Component\HttpFoundation\ParameterBag Object (
> [parameters:protected] => Array ( [username] =>
> tesll.xyx_api1.gmail.com [password] => 3440459909 [signature] =>
> AftOquNmMEiTzuUdbQfXGh6QneRPAzxoLwkQKC0nlNPES4ot7707vkoJ [testMode] =>
> 1 [solutionType] => Sole [landingPage] => Billing [brandName] =>
> [headerImageUrl] => [amount] => 16.37 [returnUrl] =>
> http://localhost:8000/booking/paypal-return [cancelUrl] =>
> http://localhost:8000/booking/paypal-cancel [description] => Your
> booking $ limousinesydneyaustralia.com [currency] => USD ) )
> [httpClient:protected] => Guzzle\Http\Client Object (
> [defaultHeaders:protected] => Guzzle\Common\Collection Object (
> [data:protected] => Array ( ) ) [userAgent:protected] => Guzzle/3.9.1
> curl/7.30.0 PHP/5.5.9 [config:Guzzle\Http\Client:private] =>
> Guzzle\Common\Collection Object ( [data:protected] => Array (
> [curl.options] => Array ( [78] => 60 [10065] =>
> C:\xampp\htdocs\sangam\vendor\guzzle\http\Guzzle\Http/Resources/cacert.pem
> [64] => 1 [81] => 2 ) ) ) [baseUrl:Guzzle\Http\Client:private] =>
> [curlMulti:Guzzle\Http\Client:private] =>
> Guzzle\Http\Curl\CurlMultiProxy Object ( [handles:protected] => Array
> ( [0] => Guzzle\Http\Curl\CurlMulti Object ( [multiHandle:protected]
> => Resource id #198 [requests:protected] => Array ( ) [handles:protected] => SplObjectStorage Object (
> [storage:SplObjectStorage:private] => Array ( ) )
> [resourceHash:protected] => Array ( ) [exceptions:protected] => Array
> ( ) [successful:protected] => Array ( ) [multiErrors:protected] =>
> Array ( [1] => Array ( [0] => CURLM_BAD_HANDLE [1] => The passed-in
> handle is not a valid CURLM handle. ) [2] => Array ( [0] =>
> CURLM_BAD_EASY_HANDLE [1] => An easy handle was not good/valid. It
> could mean that it isn't an easy handle at all, or possibly that the
> handle already is in used by this or another multi handle. ) [3] =>
> Array ( [0] => CURLM_OUT_OF_MEMORY [1] => You are doomed. ) [4] =>
> Array ( [0] => CURLM_INTERNAL_ERROR [1] => This can only be returned
> if libcurl bugs. Please report it to us! ) ) [selectTimeout:protected]
> => 1 [eventDispatcher:protected] => Symfony\Component\EventDispatcher\EventDispatcher Object (
> [listeners:Symfony\Component\EventDispatcher\EventDispatcher:private]
> => Array ( ) [sorted:Symfony\Component\EventDispatcher\EventDispatcher:private] =>
> Array ( ) ) ) ) [groups:protected] => Array ( ) [queued:protected] =>
> Array ( ) [maxHandles:protected] => 3 [selectTimeout:protected] => 1
> [eventDispatcher:protected] =>
> Symfony\Component\EventDispatcher\EventDispatcher Object (
> [listeners:Symfony\Component\EventDispatcher\EventDispatcher:private]
> => Array ( ) [sorted:Symfony\Component\EventDispatcher\EventDispatcher:private] =>
> Array ( ) ) ) [uriTemplate:Guzzle\Http\Client:private] =>
> Guzzle\Parser\UriTemplate\UriTemplate Object (
> [template:Guzzle\Parser\UriTemplate\UriTemplate:private] =>
> [variables:Guzzle\Parser\UriTemplate\UriTemplate:private] =>
> [regex:Guzzle\Parser\UriTemplate\UriTemplate:private] =>
> /\{([^\}]+)\}/ ) [requestFactory:protected] =>
> Guzzle\Http\Message\RequestFactory Object ( [methods:protected] =>
> Array ( [getInstance] => 0 [__construct] => 1 [fromMessage] => 2
> [fromParts] => 3 [create] => 4 [cloneRequestWithMethod] => 5
> [applyOptions] => 6 [visit_headers] => 7 [visit_body] => 8
> [visit_allow_redirects] => 9 [visit_auth] => 10 [visit_query] => 11
> [visit_cookies] => 12 [visit_events] => 13 [visit_plugins] => 14
> [visit_exceptions] => 15 [visit_save_to] => 16 [visit_params] => 17
> [visit_timeout] => 18 [visit_connect_timeout] => 19 [visit_debug] =>
> 20 [visit_verify] => 21 [visit_proxy] => 22 [visit_cert] => 23
> [visit_ssl_key] => 24 ) [requestClass:protected] =>
> Guzzle\Http\Message\Request [entityEnclosingRequestClass:protected] =>
> Guzzle\Http\Message\EntityEnclosingRequest )
> [eventDispatcher:protected] =>
> Symfony\Component\EventDispatcher\EventDispatcher Object (
> [listeners:Symfony\Component\EventDispatcher\EventDispatcher:private]
> => Array ( [request.sent] => Array ( [100] => Array ( [0] => Array ( [0] => Guzzle\Http\RedirectPlugin Object (
> [defaultMaxRedirects:protected] => 5 ) [1] => onRequestSent ) ) )
> [request.clone] => Array ( [0] => Array ( [0] => Array ( [0] =>
> Guzzle\Http\RedirectPlugin Object ( [defaultMaxRedirects:protected] =>
> 5 ) [1] => cleanupRequest ) ) ) [request.before_send] => Array ( [0]
> => Array ( [0] => Array ( [0] => Guzzle\Http\RedirectPlugin Object ( [defaultMaxRedirects:protected] => 5 ) [1] => cleanupRequest ) ) ) )
> [sorted:Symfony\Component\EventDispatcher\EventDispatcher:private] =>
> Array ( ) ) ) [httpRequest:protected] =>
> Symfony\Component\HttpFoundation\Request Object ( [attributes] =>
> Symfony\Component\HttpFoundation\ParameterBag Object (
> [parameters:protected] => Array ( ) ) [request] =>
> Symfony\Component\HttpFoundation\ParameterBag Object (
> [parameters:protected] => Array ( ) ) [query] =>
> Symfony\Component\HttpFoundation\ParameterBag Object (
> [parameters:protected] => Array ( ) ) [server] =>
> Symfony\Component\HttpFoundation\ServerBag Object (
> [parameters:protected] => Array ( [DOCUMENT_ROOT] =>
> C:\xampp\htdocs\sangam\public [REMOTE_ADDR] => 127.0.0.1 [REMOTE_PORT]
> => 64532 [SERVER_SOFTWARE] => PHP 5.5.9 Development Server [SERVER_PROTOCOL] => HTTP/1.1 [SERVER_NAME] => localhost [SERVER_PORT]
> => 8000 [REQUEST_URI] => /booking/pay-with-paypal [REQUEST_METHOD] => GET [SCRIPT_NAME] => /index.php [SCRIPT_FILENAME] =>
> C:\xampp\htdocs\sangam\public\index.php [PATH_INFO] =>
> /booking/pay-with-paypal [PHP_SELF] =>
> /index.php/booking/pay-with-paypal [HTTP_HOST] => localhost:8000
> [HTTP_CONNECTION] => keep-alive [HTTP_CACHE_CONTROL] => max-age=0
> [HTTP_ACCEPT] =>
> text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
> [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; WOW64)
> AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137
> Safari/537.36 [HTTP_REFERER] => http://localhost:8000/booking/
> [HTTP_ACCEPT_ENCODING] => gzip,deflate,sdch [HTTP_ACCEPT_LANGUAGE] =>
> en-US,en;q=0.8,hi;q=0.6 [HTTP_COOKIE] =>
> laravel_session=eyJpdiI6Im1NcEJwMkduMTRRdGRKVXZaR1IrOUxlSmxnVmhFZjE3Umc5MWxwRUpIVDg9IiwidmFsdWUiOiJjekp6Tjk2ZU1pZUpvTzR1MjV6eldLTGJuaXhiWW1tYzV1Z1NveFJVK25oNlRyMjgyNmNEdzZmeUNqS3lwZTAwcmVERk1rdHFyUE1nQnc1MVRkb2F6dz09IiwibWFjIjoiNGM4N2UyOTVhOThkMjRhMTAyZTI2ZDhlNTY5M2MyMjk4OGFhYzM5MGE4ZDY1ODE4MTcyYzlkNzNkMjIzZTY0ZSJ9
> [REQUEST_TIME_FLOAT] => 1400582955.8832 [REQUEST_TIME] => 1400582955 )
> ) [files] => Symfony\Component\HttpFoundation\FileBag Object (
> [parameters:protected] => Array ( ) ) [cookies] =>
> Symfony\Component\HttpFoundation\ParameterBag Object (
> [parameters:protected] => Array ( [laravel_session] =>
> eyJpdiI6Im1NcEJwMkduMTRRdGRKVXZaR1IrOUxlSmxnVmhFZjE3Umc5MWxwRUpIVDg9IiwidmFsdWUiOiJjekp6Tjk2ZU1pZUpvTzR1MjV6eldLTGJuaXhiWW1tYzV1Z1NveFJVK25oNlRyMjgyNmNEdzZmeUNqS3lwZTAwcmVERk1rdHFyUE1nQnc1MVRkb2F6dz09IiwibWFjIjoiNGM4N2UyOTVhOThkMjRhMTAyZTI2ZDhlNTY5M2MyMjk4OGFhYzM5MGE4ZDY1ODE4MTcyYzlkNzNkMjIzZTY0ZSJ9
> ) ) [headers] => Symfony\Component\HttpFoundation\HeaderBag Object (
> [headers:protected] => Array ( [host] => Array ( [0] => localhost:8000
> ) [connection] => Array ( [0] => keep-alive ) [cache-control] => Array
> ( [0] => max-age=0 ) [accept] => Array ( [0] =>
> text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
> ) [user-agent] => Array ( [0] => Mozilla/5.0 (Windows NT 6.1; WOW64)
> AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137
> Safari/537.36 ) [referer] => Array ( [0] =>
> http://localhost:8000/booking/ ) [accept-encoding] => Array ( [0] =>
> gzip,deflate,sdch ) [accept-language] => Array ( [0] =>
> en-US,en;q=0.8,hi;q=0.6 ) [cookie] => Array ( [0] =>
> laravel_session=eyJpdiI6Im1NcEJwMkduMTRRdGRKVXZaR1IrOUxlSmxnVmhFZjE3Umc5MWxwRUpIVDg9IiwidmFsdWUiOiJjekp6Tjk2ZU1pZUpvTzR1MjV6eldLTGJuaXhiWW1tYzV1Z1NveFJVK25oNlRyMjgyNmNEdzZmeUNqS3lwZTAwcmVERk1rdHFyUE1nQnc1MVRkb2F6dz09IiwibWFjIjoiNGM4N2UyOTVhOThkMjRhMTAyZTI2ZDhlNTY5M2MyMjk4OGFhYzM5MGE4ZDY1ODE4MTcyYzlkNzNkMjIzZTY0ZSJ9
> ) ) [cacheControl:protected] => Array ( [max-age] => 0 ) )
> [content:protected] => [languages:protected] => [charsets:protected]
> => [encodings:protected] => [acceptableContentTypes:protected] => [pathInfo:protected] => [requestUri:protected] => [baseUrl:protected]
> => [basePath:protected] => [method:protected] => [format:protected] => [session:protected] => [locale:protected] => [defaultLocale:protected]
> => en ) [response:protected] => Omnipay\PayPal\Message\ExpressAuthorizeResponse Object *RECURSION* )
> [data:protected] => Array ( [TOKEN] => EC-4SW489106W090020K
> [TIMESTAMP] => 2014-05-20T10:49:17Z [CORRELATIONID] => 9ecd1fa3cfd95
> [ACK] => Success [VERSION] => 85.0 [BUILD] => 11024577 ) )
Update#2 Just now I got the following additional error message at the bottom of the error message I talked about above. I hope this will help understand the error better.
MayflyNG::MayflyException: IOException: no response from 10.72.108.213:11068 Backtrace: MayflyNG::Client::rpc(MayflyNG::RequestMsg&, MayflyNG::ResponseMsg&, bool, CalTransaction&) MayflyNG::Client::internal_get(MayflyNG::RequestMsg&, MayflyNG::ResponseMsg&, Buffer*, MayflyNG::Context*, bool, CalTransaction&) MayflyNG::Client::handle_request(MayflyNG::Client::RequestMode::RequestType, MayflyNG::RequestMsg&, MayflyNG::ResponseMsg&, Buffer*, MayflyNG::Context*, CalTransaction&) MayflyNG::Client::get(Buffer const&, Buffer&, MayflyNG::Context*, int) MayflyNG::Client::get(String const&, Buffer&, MayflyNG::Context*, int) Merchant::Checkout::CheckoutSessionPBMayfly::load_session_from_mayfly(unsigned long long, boost::shared_ptr) Merchant::Checkout::CheckoutSessionPBMayfly::do_load(Merchant::Checkout::CheckoutSessionToken const&, ForUpdate, boost::shared_ptr) Merchant::Checkout::UnifiedCheckoutSessionPB::load(Merchant::Checkout::CheckoutSessionToken const&, ForUpdate) Merchant::Checkout::CheckoutSessionBLIImpl::get_session_data(Merchant::Checkout::CheckoutSessionToken const&, bool) Merchant::Checkout::CheckoutSessionBLIImpl::get_session_data(String const&, bool) Merchant::PimpWalletBLIImpl::get_wallet(String const&, boost::shared_ptr&, String) Merchant::Payment::ExpressCheckoutALIImpl::get_wallet(String const&, boost::shared_ptr&, String) Rapids::Flows::OneX::StateOneXEC_Start::execute(Rapids::CGIVars const&) Rapids::DecoratedState::execute(Rapids::CGIVars const&) Riprap::RiprapRapidsGenericFlow::handle_execute(Riprap::WebAppContextOrnate const&, Rapids::TransitionRegistry const&, Rapids::State*, String const&, String const&, unsigned long long) Riprap::RiprapRapidsGenericFlow::process_states(Riprap::WebAppContextOrnate const&, Riprap::RiprapRapidsGenericFlow::ProcessStates, Riprap::DispatchInterceptorRegistry const&, Rapids::TransitionEdge const*) Riprap::RiprapRapidsGenericFlow::flow_call(Riprap::WebAppContextOrnate const&, Riprap::WebAppReturn const&, String const&, Riprap::DispatchInterceptorRegistry const&) Riprap::call_rapids(Riprap::WebAppContext const&, Riprap::RapidsFlowFactory const&, Riprap::DispatchAction const&, Riprap::WebAppReturn const&, String const&, Riprap::DispatchInterceptorRegistry const&) Riprap::dispatch_loop(Riprap::EPRegistry const&, Riprap::WebAppContext const&, Riprap::DispatchAction&, Riprap::WebAppReturn&, String const&, Riprap::DispatchInterceptorRegistry const&) Riprap::dispatch_wrapper(OutputStream&, Riprap::EPRegistry const&, Riprap::WebAppContext const&, Riprap::WebAppReturn const&, String const&, bool const&, Riprap::DispatchInterceptorRegistry const&) Riprap::entry_point(HTTPInterface&, Riprap::CGIVars&, OutputStream&, String const&, String const&) main
Upvotes: 1
Views: 1339
Reputation: 425
Try changing the return/cancel URLS from localhost to an actual server. As Paypal will not be able to return anything to those.
Upvotes: 2