api - Paypal Pro NVP Sandbox PHP Payment Impossible -
i have build own paypal pro system don't work can't access template nvp ack success. i've tried change encoding nothing change. things
unable process payment. please contact merchant directly.code :
session_start(); $total = 0; $total = $_session['navig']->commande->total; $total -= $_session["navig"]->commande->remise; // r?f?rence $reference_cde = urlencode($_session['navig']->commande->transaction); // montant $montant = $total; // récupération de l'adresse de payement $server = $serveur_api; $version = "87.0"; $method = "bmcreatebutton"; $user = $username_api; $pwd = $password_api; $signature = $key_api; $buttoncode = "token"; $buttontype = "payment"; $data = array( "paymentaction" => urlencode("sale"), "amount" => urlencode(round($montant, 2)), "tax" => urlencode("19.6"), "first_name" => urlencode($_session["navig"]->client->prenom), "lasr_name" => urlencode($_session["navig"]->client->nom), "address1" => urlencode($_session["navig"]->client->adresse1), "address2" => urlencode($_session["navig"]->client->adresse2), "city" => urlencode($_session["navig"]->client->ville), "zip" => urlencode($_session["navig"]->client->cpostal), "email" => urlencode($_session["navig"]->client->email), "shipping_1" => urlencode($_session["navig"]->commande->port), "currency_code" => urlencode($devise), "payer_id" => urlencode($_session["navig"]->client->id), "payer_email" => urlencode($_session["navig"]->client->email), "return" => urlencode($retourok), "notify_url" => urlencode($confirm), "cancel_return" => urlencode($retournok), "invoice" => urlencode($reference_cde) ); $request[] = "version=".$version; $request[] = "method=".$method; $request[] = "user=".$user; $request[] = "pwd=".$pwd; $request[] = "signature=".$signature; $request[] = "buttoncode=".$buttoncode; $request[] = "buttontype=".$buttontype; $i = 0; foreach ($data $key => $value) { $request[] = "l_buttonvar".$i."=".$key."=".$value; $i++; } $requestcurl = ""; foreach ($request $data => $value) { $requestcurl .= $value . "&"; } $requestcurl = substr($requestcurl, 0, -1); $requestcurl = str_replace(" ", "+", $requestcurl); $requestcurl = utf8_encode($requestcurl); $url = parse_url($serveur_api); $reponse = ""; $fp = fsockopen("ssl://".$url['host'],"443",$err_num,$err_str,30); if(!$fp) { return false; } else { fputs($fp, "post $url[path] http/1.1\r\n"); fputs($fp, "host: $url[host]\r\n"); fputs($fp, "content-type: application/x-www-form-urlencoded\r\n"); fputs($fp, "content-length: ".strlen($requestcurl)."\r\n"); fputs($fp, "charset: utf-8\r\n"); fputs($fp, "connection: close\r\n\r\n"); fputs($fp, $requestcurl . "\r\n\r\n"); while(!feof($fp)) $reponse .= fgets($fp, 4096); fclose($fp); }; $rep = explode("&", $reponse); $rep = explode("=", $rep[1]); $result = urldecode($rep[1]); header("location:".$result);
i've found solution problem i've replace "amount" "subtotal" , i've replace uppercase in lowercase in data array.
cordially
Comments
Post a Comment