Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(Paypal)GetTransactionDetails需要TRANSACTIONID。我如何获得它?_Paypal_Paypal Nvp - Fatal编程技术网

(Paypal)GetTransactionDetails需要TRANSACTIONID。我如何获得它?

(Paypal)GetTransactionDetails需要TRANSACTIONID。我如何获得它?,paypal,paypal-nvp,Paypal,Paypal Nvp,SetExpressCheckout仅向返回URL发送以下确认 相关ID 时间戳 版本 建造 要完成交易,我们必须首先使用TRANSACTIONID调用GetTransactionDetails,以获取PAYERID,最终与DoExpressCheckout一起使用以完成交易 我们从哪里获得TRANSACTIONID?我到处都找不到信息 如果我将CORRELATIONID用作TRANSACTIONID,则会得到“Transaction Id无效” 示例文件只有“example_transacti

SetExpressCheckout仅向返回URL发送以下确认 相关ID 时间戳 版本 建造

要完成交易,我们必须首先使用TRANSACTIONID调用GetTransactionDetails,以获取PAYERID,最终与DoExpressCheckout一起使用以完成交易

我们从哪里获得TRANSACTIONID?我到处都找不到信息

如果我将CORRELATIONID用作TRANSACTIONID,则会得到“Transaction Id无效”

示例文件只有“example_transactionId”,没有指明它应该来自哪里

来自贝宝

  • 调用API操作,例如SetExpressCheckout,该操作设置返回URL,在买家在PayPal上完成后,PayPal会将买家的浏览器重定向到该URL。此API操作还可以执行其他设置
  • 在收到买家对PayPal的许可后调用其他API操作,例如GetExpressCheckoutDetails或DoExpressCheckoutPayment
  • 第一步是有效的,因为我们拥有所有的信息并返回这些信息

    如果没有至少提供TRANSACTIONID,则无法完成步骤2


    什么?

    您必须先进行交易搜索。它将返回id为的事务。然后,当paypal将用户重定向回RETURNURL(您应该在调用SetExpressCheckout时设置该URL)时,您可以使用id来获取事务详细信息。您将在请求中获得令牌参数

    然后使用GetExpressCheckoutDetails传递令牌作为参数来获取事务信息。响应将包含AMT、PAYERID和TOKEN等内容

    要完成事务,请将这些参数传递给DoExpressCheckoutPayment

    顺便说一句,您需要使用CORRELATIONID的唯一时间是在与PayPal支持人员交谈时。它在处理付款方面没有实际用途


    希望有帮助!:)

    在DGdoExpressCheckout.php中,
    $DoECResponse
    中接收响应。事务Id可以在该对象的深处找到:

    $tranId = $DoECResponse->DoExpressCheckoutPaymentResponseDetails->PaymentInfo[0]->TransactionID;
    
    可以在文件中获取整个对象的详细信息:

    file_put_contents('debug.log', print_r($DoECResponse, true));
    

    $DoECResponse
    对象提供了有关事务的一些基本信息,可以使用GetTransactionDetails获取更详细的信息。大多数情况下,用户不需要调用GetTransactionDetails。

    易趣表示,它在订单响应中包含了该信息,但事实似乎并非如此。:)你的回答确实有用。。但它会返还一大堆款项。所有这些都不能直接告诉您要找的交易。您好,使用setExpresschecout CURL方法,我可以设置定期付款,并获得数组作为成功确认的回报,在这里,我按数据库更新用户已付款,但现在假设我的计费周期为15天,那么该脚本如何在15天后检查事务是否成功?我需要任何cron工作或什么,我检查了五月的文章,但并没有找到如何检查付款人的状态后,计费周期结束。谢谢