【发布时间】:2017-08-06 03:23:18
【问题描述】:
我正在尝试进行paypal付款。付款完成后,我们如何获得交易的详细信息以及如何在angularjs中获得paypal付款的成功或失败响应?
【问题讨论】:
-
Angular 2 paypal的可能重复
标签: angularjs
我正在尝试进行paypal付款。付款完成后,我们如何获得交易的详细信息以及如何在angularjs中获得paypal付款的成功或失败响应?
【问题讨论】:
标签: angularjs
我正在使用这个 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;
}
}
?>
【讨论】: