1

我正在使用 OmniPay 通过 laravel 进行贝宝快递付款。有一次奏效了。但现在它只是闯入贝宝页面,出现以下错误:

抱歉 - 您的最后一个操作无法完成 如果您正在购物或汇款,我们建议您在 30 分钟后检查您的 PayPal 帐户和电子邮件以获取交易确认信息。

如果您从其他网站来到此页面,请返回该网站(不要使用浏览器的后退按钮)并重新开始您的活动。

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

调度错误,请检查日志文件以获取更多信息

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: 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&) 主要

4

1 回答 1

2

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

于 2014-05-21T11:57:59.417 回答