paypal - Paypal 快速结账的 Omnipay 错误,您的最后一个操作无法完成

标签 paypal laravel laravel-4 omnipay

我正在使用 OmniPay 通过 laravel 进行 paypal 快速支付。有一次它奏效了。但是现在只是闯入paypal页面,报如下错误:

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

有什么想法吗?

更新: 这是我调用购买方法后得到的:

    > 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 的响应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::上下文*, 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) 商家::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&, 字符串) 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&,字符串 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

最佳答案

尝试将返回/取消 URLS 从本地主机更改为实际服务器。因为 Paypal 将无法向这些人退还任何东西。

关于paypal - Paypal 快速结账的 Omnipay 错误,您的最后一个操作无法完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23756957/

相关文章:

rest - 将 Paypal REST API 与经典 ASP 结合使用

php - paypal/rest-api-sdk-php PHP简单示例

c# - 在 C# SOAP 中开始使用 Paypal 自适应支付

php - 浏览器在 Paypal 网站上关闭

Laravel 没有验证唯一值(数据库)

javascript - 调用未定义的方法: laravel

php - 在 laravel 中通过 url 传递变量

php - 带 Bootstrap 日期选择器的 Laravel 4

css - Laravel 5.6 Bootstrap Jumbotron 背景图片

php - Laravel中的错误处理