如何从贝宝获得成功或失败响应?
Posted
技术标签:
【中文标题】如何从贝宝获得成功或失败响应?【英文标题】:How to get success or failure response from paypal? 【发布时间】:2017-08-06 03:23:18 【问题描述】:我正在尝试进行paypal付款。付款完成后,我们如何获得交易的详细信息以及如何在angularjs中获得paypal付款的成功或失败响应?
【问题讨论】:
Angular 2 paypal的可能重复 【参考方案1】:我正在使用这个 php 代码来制作它。因此,在您在 Paypal 中完成交易后,他们会向您返回响应(即使交易失败)。只需检查数组中的参数“ACK”即可。
此响应是一个包含交易信息的数组。 如果您想授予您的交易信息。只需使用“GetTransactionDetails”方法,paypal 服务器就会返回一个包含所有信息的数组(您必须使用交易 ID 来进行查询,而不是您的令牌)。只需将此代码调整为 angularJS
<?php
function verify_Transaction($idTrans,$show)
$nvp = array(
'METHOD' => 'GetTransactionDetails',
'VERSION' => '124.0',
'PWD' => 'YOUR PASS',
'USER' => 'YOUR USER',
'SIGNATURE' => 'YOUR SIGNATURE' ,
'TRANSACTIONID' => yourTransactionID
);
$curl = curl_init();
curl_setopt( $curl , CURLOPT_URL , 'https://api-3t.sandbox.paypal.com/nvp' );
curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , false );
curl_setopt( $curl , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt( $curl , CURLOPT_POST , 1 );
curl_setopt( $curl , CURLOPT_POSTFIELDS , http_build_query( $nvp ) );
$response = urldecode( curl_exec( $curl ) );
$responseNvp = array();
if ( preg_match_all( '/(?<name>[^\=]+)\=(?<value>[^&]+)&?/' , $response , $matches ) )
foreach ( $matches[ 'name' ] as $offset => $name )
$responseNvp[ $name ] = $matches[ 'value' ][ $offset ];
if($show)
echo '<pre>';print_r($responseNvp);echo'</pre>';
if($responseNvp['ACK']=='Success')
//echo "true";
return true;
else
//echo "false";
return false;
?>
【讨论】:
以上是关于如何从贝宝获得成功或失败响应?的主要内容,如果未能解决你的问题,请参考以下文章