【问题标题】:How to get success or failure response from paypal?如何从贝宝获得成功或失败响应?
【发布时间】:2017-08-06 03:23:18
【问题描述】:

我正在尝试进行paypal付款。付款完成后,我们如何获得交易的详细信息以及如何在angularjs中获得paypal付款的成功或失败响应?

【问题讨论】:

标签: angularjs


【解决方案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;
    }
}

?>

【讨论】:

    猜你喜欢
    • 2013-02-14
    • 2021-02-22
    • 1970-01-01
    • 2013-01-27
    • 2015-09-07
    • 1970-01-01
    • 2019-02-19
    • 2013-04-03
    • 2018-02-16
    相关资源
    最近更新 更多