Résolu Besoin d'aide IPN (Autobuy) Payza

  • Auteur de la discussion Auteur de la discussion membre669747
  • Créé le Créé le
M

membre669747

Bonjour, je cherche une personne qui pourrait m'aider à mettre un ipn (autobuy) sur mon site, j'utilisais paypal avant, je vous donne le code ;

$paypalurl = " ".urlencode($row['price'])."&business=".urlencode($paypalemail)."&item_name=".
urlencode($row['name'])."&item_number=".urlencode($row['ID']."_".$_SESSION['ID'])."&return=".urlencode($url."/purchase.php")."&rm=2&notify_url=".
urlencode($url."/gateway/ipn.php")."&cancel_return=".urlencode($url)."/purchase.php"."&no_note=1&currency_code=USD";


J'aimerais tout simplement changer paypal avec Payza, merci
 
Alors au départ, il faut que tu génère une token pour une meilleur sécurité ;)
Il existe différente façon de le faire en php. (Je te laisse choisir)
Voici en tout cas un bref script pour faire ce que tu veux avec Payza :

PHP:
$token = "token=".urlencode($_POST['token']);
        $response = '';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, ($options['payza_sandbox'] == 'on' ? "https://sandbox.payza.com/sandbox/IPN2.ashx" : "https://secure.payza.com/ipn2.ashx"));
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $token);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_TIMEOUT, 60);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $response = curl_exec($ch);
        curl_close($ch);                

        if(strlen($response) > 0) {
            if(urldecode($response) == "INVALID TOKEN") {
                //the token is not valid
            } else {
                $response = urldecode($response);
                $aps = explode("&", $response);
                $info = array();
                foreach ($aps as $ap) {
                    $ele = explode("=", $ap);
                    $info[$ele[0]] = $ele[1];
                }
                $item_number = intval(str_replace("ID", "", $info['ap_itemcode']));
                $item_name = $info['ap_itemname'];
                $payment_status = $info['ap_status'];
                $transaction_type = $info['ap_transactiontype'];
                $txn_id = $info['ap_referencenumber'];
                $seller_id = $info['ap_merchant'];
                $payer_id = $info['ap_custemailaddress'];
                $gross_total = $info['ap_totalamount'];
                $mc_currency = $info['ap_currency'];
                $payer_name = $info['ap_custfirstname'].' '.$info['ap_custlastname'];

                if ($payment_status == "Success") {  // Ce qui va se passer en cas c'est valide }
                else { // Ce qui va se passer en cas c'est invalide    }
               }
            }
        }
        exit;
 
Merci boug mwen, je dois mettre ça où exactement ? ipn.php ? et le token comment on fait ?
Oui ipn.php et pour le token tu peux utiliser une simple fonction pour le générer exemple :
PHP:
function generate_secure_token($length = 16) { 
        return bin2hex(openssl_random_pseudo_bytes($length));                  
    }
 
Je fais comment pour l'order.php ?
A toi d'adapter ces valeur sur ton script page

'.$amount. variable prix
ap_currency = USD, EUR etc
'.$email.' = exemple si tu as besoin d'envoyé un email au client : Invoice order par exemple ;)
ap_alerturl : le lien de ta page ipn
ap_merchant = payza_id
ap_itemname : titre du produit en vente

PHP:
<form action="https://secure.payza.com/PayProcess.aspx'" method="post" target="_top" style="display:none;">
        <input type="hidden" name="ap_merchant" value="">
        <input type="hidden" name="ap_purchasetype" value="item">
        <input type="hidden" name="ap_itemname" value="">
        <input type="hidden" name="ap_amount" value="'.$amount.'">
        <input type="hidden" name="ap_currency" value="">
        <input type="hidden" name="apc_1" value="'.$email.'">
        <input type="hidden" name="ap_itemcode" value="">
        <input type="hidden" name="ap_returnurl" value="'.$return_url.'">
        <input type="hidden" name="ap_cancelurl" value="'.$_SERVER["HTTP_REFERER"].'">
        <input type="hidden" name="ap_alerturl" value="'.$url_base.'ipn.php">
        <input type="hidden" name="ap_ipnversion" value="2">
        <input type="submit"  value="Submit">
    </form>';
 
Salut,
Ta demande est-elle résolue ?
Si oui, tu peux cliquer sur Cette réponse a répondu à ma question sur le message qui t'a aidé pour rajouter le préfixe résolu à la discussion. :)
 
Retour
Haut