Php GetExpressCheckoutDetails响应中缺少PayPal TransactionID
我正在使用PayPal的GetExpressCheckoutDetails调用和有效令牌来尝试提取提交的事务的详细信息。然而,返回的值只是PayPal所说的根据下面URL中列出的文档应该返回的值的一小部分 有人知道贝宝为什么不返回完整的数据集吗?在本例中,我不太关心大部分事务,但我们需要交易ID,在文档中作为PAYMENTREQUEST\u n\u TRANSACTIONID列出,以便我们可以将数据库中的交易与PayPal的交易历史进行匹配 paypalfunctions.php(相关函数) expresscheckoutreceive.phpPhp GetExpressCheckoutDetails响应中缺少PayPal TransactionID,php,paypal,express-checkout,Php,Paypal,Express Checkout,我正在使用PayPal的GetExpressCheckoutDetails调用和有效令牌来尝试提取提交的事务的详细信息。然而,返回的值只是PayPal所说的根据下面URL中列出的文档应该返回的值的一小部分 有人知道贝宝为什么不返回完整的数据集吗?在本例中,我不太关心大部分事务,但我们需要交易ID,在文档中作为PAYMENTREQUEST\u n\u TRANSACTIONID列出,以便我们可以将数据库中的交易与PayPal的交易历史进行匹配 paypalfunctions.php(相关函数)
session_start();
ini_set( "session.bug_compat_warn", "off" );
require_once("paypalfunctions.php");
if ( isset( $_GET['token'] ) ) {
$token = $_GET['token'];
}
if ( $token != "" ) {
$resArray = GetShippingDetails( $token );
echo "<pre>";
var_dump( $resArray );
echo "</pre>";
} else {
echo "Error: Transaction Incomplete";
}
谢谢 如果您可以阅读
getShippingDetails()
功能中的注释,则说明在这种状态下,授权不是已完成的交易-买方仍需要额外的步骤来完成交易
因此,您还需要在此之后调用
ConfirmPayment()
方法,该方法将在函数中调用DoExpressCheckoutPayment
您是否通过先完成DoExpressCheckout操作来完成快速签出事务?PayPal中的每一笔交易都需要在交易ID发出之前先完成。在这种情况下,需要先运行DoExpressCheckout,然后才能在GetExpressCheckout details中获取事务ID。就是这样!非常感谢!我不知道我怎么会错过这个,但我在这之后添加了一个对DoExpressCheckoutPayment的调用(使用ConfirmPayment函数),现在一切都就绪了-TransactionID被返回,虽然仍然不是PayPal所说的格式,但该文档页必须是用于其他内容的。您需要查看DoExpressCheckoutPayment
的文档。很高兴帮助你。
session_start();
ini_set( "session.bug_compat_warn", "off" );
require_once("paypalfunctions.php");
if ( isset( $_GET['token'] ) ) {
$token = $_GET['token'];
}
if ( $token != "" ) {
$resArray = GetShippingDetails( $token );
echo "<pre>";
var_dump( $resArray );
echo "</pre>";
} else {
echo "Error: Transaction Incomplete";
}
array(21) {
["TOKEN"]=>
string(20) "EC-XXXXXXXXXXXXXXXXX"
["TIMESTAMP"]=>
string(20) "2014-12-04T22:10:46Z"
["CORRELATIONID"]=>
string(13) "XXXXXXXXXXXXXXX"
["ACK"]=>
string(7) "Success"
["VERSION"]=>
string(3) "2.3"
["BUILD"]=>
string(8) "14086142"
["EMAIL"]=>
string(31) "test@test.com"
["PAYERID"]=>
string(13) "XXXXXXXXXXXXX"
["PAYERSTATUS"]=>
string(8) "verified"
["BUSINESS"]=>
string(25) "TestCo"
["FIRSTNAME"]=>
string(9) "Test"
["LASTNAME"]=>
string(6) "Test"
["COUNTRYCODE"]=>
string(2) "US"
["SHIPTONAME"]=>
string(25) "Test Test"
["SHIPTOSTREET"]=>
string(20) "123 Test St."
["SHIPTOCITY"]=>
string(6) "Test City"
["SHIPTOSTATE"]=>
string(2) "CA"
["SHIPTOZIP"]=>
string(5) "33333"
["SHIPTOCOUNTRYCODE"]=>
string(2) "US"
["SHIPTOCOUNTRYNAME"]=>
string(13) "United States"
["ADDRESSSTATUS"]=>
string(9) "Confirmed"
}
//'--------------------------------------------------------------
//' At this point, the buyer has completed authorizing the payment
//' at PayPal. The function will call PayPal to obtain the details
//' of the authorization, incuding any shipping information of the
//' buyer. Remember, the authorization is not a completed transaction
//' at this state - the buyer still needs an additional step to finalize
//' the transaction
//'--------------------------------------------------------------