26
paypal
- require_once 'paypal.inc';
 - require_once 'sendhttp.php';
 
Charge les paramètres de configuration de l'interface avec le serveur PayPal et le code de la fonction sendpost.
- function paypal_amt($amt) {
 - return number_format($amt, 2, '.', '');
 - }
 - function paypal_localecode($locale) {
 - $codes=array('en' => 'en_US', 'fr' => 'fr_FR');
 - return isset($codes[$locale]) ? $codes[$locale] : 'en_US';
 - }
 - function paypal_setexpresscheckout($params) {
 - return paypal_sendapi('SetExpressCheckout', $params);
 - }
 - function paypal_getexpresscheckoutdetails($params) {
 - return paypal_sendapi('GetExpressCheckoutDetails', $params);
 - }
 - function paypal_doexpresscheckoutpayment($params) {
 - return paypal_sendapi('DoExpressCheckoutPayment', $params);
 - }
 - function paypal_gettransactiondetails($params) {
 - return paypal_sendapi('GetTransactionDetails', $params);
 - }
 - function paypal_refundtransaction($params) {
 - return paypal_sendapi('RefundTransaction', $params);
 - }
 - function paypal_getbalance() {
 - return paypal_sendapi('GetBalance');
 - }
 - function paypal_sendapi($method, $params=false) {
 - $r = sendpaypal($method, $params);
 - if (!$r) {
 - return false;
 - }
 - $ack=strtoupper($r['ACK']);
 - $success=($ack == 'SUCCESS' or $ack == 'SUCCESSWITHWARNING');
 - if (!$success) {
 - return false;
 - }
 - return $r;
 - }
 - function sendpaypal($method, $params=false) {
 - global $paypal_api_url, $paypal_api_version;
 - global $paypal_username, $paypal_password, $paypal_signature;
 - global $paypal_log;
 - $args = array(
 - 'METHOD' => $method,
 - 'VERSION' => $paypal_api_version,
 - 'USER' => $paypal_username,
 - 'PWD' => $paypal_password,
 - 'SIGNATURE' => $paypal_signature,
 - );
 - if (is_array($params)) {
 - $args += $params;
 - }
 - $response=sendpost($paypal_api_url, $args);
 - if (!$response or $response[0] != 200) {
 - return false;
 - }
 - parse_str($response[2], $r);
 - if ($paypal_log) {
 - logpaypal($method, $r);
 - }
 - return $r;
 - }
 - function logpaypal($method, $r) {
 - global $paypal_log;
 - require_once 'log.php';
 - $ack=strtoupper($r['ACK']);
 - $token = isset($r['TOKEN']) ? $r['TOKEN'] : false;
 - $msg=array("METHOD={$method}", "ACK={$ack}");
 - if ($token) {
 - $msg[] = "TOKEN={$token}";
 - }
 - $success=($ack == 'SUCCESS' or $ack == 'SUCCESSWITHWARNING');
 - if (!$success) {
 - $n=0;
 - $err=array();
 - while (isset($r["L_ERRORCODE{$n}"])) {
 - $e=$r["L_ERRORCODE{$n}"];
 - if (isset($r["L_LONGMESSAGE{$n}"])) {
 - $e .= ':' . $r["L_LONGMESSAGE{$n}"];
 - }
 - $err[]=$e;
 - $n++;
 - }
 - if ($err) {
 - $msg[] = 'ERRORCODE=' . implode('|', $err);
 - }
 - }
 - $logmsg=implode(';', $msg);
 - write_log($paypal_log === true ? 'paypal.log' : $paypal_log, $logmsg);
 - }
 
Commentaires