paypal快速结账的Omnipay错误,您的上一个操作无法完成

时间:2014-05-20 10:13:34

标签: paypal laravel laravel-4 omnipay

我使用OmniPay支付lapalvel付款。有一次它奏效了。但现在它只是进入paypal页面,出现以下错误:

  

抱歉 - 您的上一个操作无法完成如果您正在制作   购买或汇款,我们建议您检查两个   30后,PayPal帐户和您的电子邮件进行交易确认   分钟。

     

如果您从其他网站访问此页面,请返回此页面   网站(不要使用浏览器的“后退”按钮)并重新启动您的活动。

     

如果您来自PayPal的网站,请点击中的PayPal徽标   左上角返回我们的主页并重新启动   活动。您可能需要重新登录。

     

Dispatch Error,请查看日志文件以获取更多信息

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
        }
    }

请问好吗?

更新: 这是我打电话购买方法后得到的:

    > 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 ) )

更新#2 刚才我在上面提到的错误消息的底部收到了以下附加错误消息。我希望这有助于更好地理解错误。

MayflyNG :: MayflyException:IOException:10.72.108.213:11068 Backtrace:MayflyNG :: Client :: rpc(MayflyNG :: RequestMsg&,MayflyNG :: ResponseMsg&,bool,CalTransaction& MayfrNG :: 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 :: Checkou商品:: Checkout :: CheckoutSessionBLIImpl :: get_session_data(商人:: Checkout :: CheckoutSessionToken const&,bool)商人:: Checkout :: CheckoutSessionBLIImpl :: get_session_data(String const&,bool)商人:: 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 :: R iprapRapidsGenericFlow :: 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

1 个答案:

答案 0 :(得分:2)

尝试将返回/取消URL从localhost更改为实际服务器。由于Paypal无法向这些人返回任何内容。