Как вернуть комиссию во всех транзакциях PayPal
Добрый день
Я делаю интеграцию PayPal с Бразильской платформой Magento, и мне нужно получить комиссию, возвращаемую PayPal
//---------//routine to recover the fee on database Paypal//--------//
$nvp = array(
//'TRANSACTIONID' => '7W763566L0166562G',
'TRANSACTIONID' => $transactionId,
'METHOD' => 'GetTransactionDetails',
'PWD' => 'UVAYAK9WMNPP75KA',
'USER' => 'leonardoccleao_api1.gmail.com',
'SIGNATURE' => 'AFcWxV21C7fd0v3bYYYRCpSSRl31AYlssmYYHWWmVugX7vy.se0mIMAM',
'VERSION' => '84',
);
$curl = curl_init();
curl_setopt( $curl , CURLOPT_URL , 'https://api-3t.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 ];
}
}
$fee_amount = $responseNvp['FEEAMT'];//fee recovered
echo $fee_amount;//I get to print the fee
curl_close( $curl );
//---------/end routine to recover the fee on database Paypal //--------//
Я получаю комиссию, давая PayPal идентификатор транзакции (txv_id), но он работает только в некоторых транзакциях. В некоторых транзакциях PayPal возвращает комиссию = 0.
Я сделал скрипт для заполнения таблицы данных диапазоном транзакций, но из 40 транзакций, сделанных через PayPal, я только что получил 2 комиссии. Транзакции имеют одинаковый продукт и одинаковую цену, но не всегда одинаковы
Я хочу знать, есть ли у PayPal какой-то другой способ вернуть этот атрибут
1 ответ
В некоторых транзакциях, например при оплате балансом PayPal, комиссия не взимается. Это может быть причиной.
Платежи Paypal: https://www.paypal.com/webapps/helpcenter/article/?currentIssueID=11927&topicID=11500006&m=TCI