繁体   English   中英

在PHP中通过mercanet付款

[英]making payments through mercanet in PHP

在一家法国公司的电子商务网站上,我们希望通过Mercanet(BNP Paribas)进行付款。 我下载了Linux的API,它仅包含两个二进制文件(请求,响应),没有PHP示例。 服务台也没有答案。 我也下载了该网站的证书,但是因为没有howto文件而卡住了。

对于任何使用ATOS / Mercanet / Sips支付系统的人,下面是他们发送给我的PHP文件的示例。 他们所有的帮助文档都使用法语。

请务必注意,有32位和64位版本-您必须使用正确的版本。 我尝试了这里提到的技巧

https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&prev=search&rurl=translate.google.co.za&sl=fr&u=http://www.developpez.net/forums/d599959/webmasters-developpement-web/通用概念网站/电子商务/问题-d-安装-d-plug-in-mercanet /&usg = ALkJrhj4iJ0kxEE9EoUbQTjq_0peu4_PSQ

FTP技巧无效。

https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&prev=search&rurl=translate.google.co.za&sl=fr&u=http://www.developpez.net/forums/d1154720/webmasters-developpement-web/通用概念网站/电子商务/问题d-安装-d-plug-in-mercanet /&usg = ALkJrhiEypDQCmEu5uVWD5uDpOChAAaNbQ

32位黑客无法正常工作

这给你很好的指示。 翻译看起来足够好理解

https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&prev=search&rurl=translate.google.co.za&sl=fr&u=http://thierry-godin.developpez.com/php/atos/&usg=ALkJrhjC12cJksMlauYxLvwnoxPV0G__9g

唯一有效的方法是拥有正确的版本。

还请记住,如果您使用git,则推送可能会重置权限,那么每次推送时您都必须755请求文件。

PHP示例:

print ("<HTML><HEAD><TITLE>MERCANET - Paiement Securise sur Internet</TITLE></HEAD>");
    print ("<BODY bgcolor=#ffffff>");
    print ("<Font color=#000000>");
    print ("<center><H1>Test de l'API plug-in MERCANET</H1></center><br><br>");


    //      Affectation des paramètres obligatoires

    $parm="merchant_id=082584341411111";
    $parm="$parm merchant_country=fr";
    $parm="$parm amount=100";
    $parm="$parm currency_code=978";


    // Initialisation du chemin du fichier pathfile (à modifier)
        //   ex :
        //    -> Windows : $parm="$parm pathfile=c:/repertoire/pathfile";
        //    -> Unix    : $parm="$parm pathfile=/home/repertoire/pathfile";

    $parm="$parm pathfile=" .  XOOPS_ROOT_PATH.'/tray_code/payment_gateways/sips/param/pathfile';

    //      Si aucun transaction_id n'est affecté, request en génère
    //      un automatiquement à partir de heure/minutes/secondes
    //      Référez vous au Guide du Programmeur pour
    //      les réserves émises sur cette fonctionnalité
    //
    //      $parm="$parm transaction_id=123456";



    //      Affectation dynamique des autres paramètres
    //      Les valeurs proposées ne sont que des exemples
    //      Les champs et leur utilisation sont expliqués dans le Dictionnaire des données
    //
    //      $parm="$parm normal_return_url=http://www.maboutique.fr/cgi-bin/call_response.php";
    //      $parm="$parm cancel_return_url=http://www.maboutique.fr/cgi-bin/call_response.php";
    //      $parm="$parm automatic_response_url=http://www.maboutique.fr/cgi-bin/call_autoresponse.php";
    //      $parm="$parm language=fr";
    //      $parm="$parm payment_means=CB,2,VISA,2,MASTERCARD,2";
    //      $parm="$parm header_flag=no";
    //      $parm="$parm capture_day=";
    //      $parm="$parm capture_mode=";
    //      $parm="$parm bgcolor=";
    //      $parm="$parm block_align=";
    //      $parm="$parm block_order=";
    //      $parm="$parm textcolor=";
    //      $parm="$parm receipt_complement=";
    //      $parm="$parm caddie=mon_caddie";
    //      $parm="$parm customer_id=";
    //      $parm="$parm customer_email=";
    //      $parm="$parm customer_ip_address=";
    //      $parm="$parm data=";
    //      $parm="$parm return_context=";
    //      $parm="$parm target=";
    //      $parm="$parm order_id=";


    //      Les valeurs suivantes ne sont utilisables qu'en pré-production
    //      Elles nécessitent l'installation de vos fichiers sur le serveur de paiement
    //
    //      $parm="$parm normal_return_logo=";
    //      $parm="$parm cancel_return_logo=";
    //      $parm="$parm submit_logo=";
    //      $parm="$parm logo_id=";
    //      $parm="$parm logo_id2=";
    //      $parm="$parm advert=";
    //      $parm="$parm background_id=";
    //      $parm="$parm templatefile=";


    //      insertion de la commande en base de données (optionnel)
    //      A développer en fonction de votre système d'information

    // Initialisation du chemin de l'executable request (à modifier)
    // ex :
    // -> Windows : $path_bin = "c:/repertoire/bin/request";
    // -> Unix    : $path_bin = "/home/repertoire/bin/request";
    //

    $path_bin =  XOOPS_ROOT_PATH.'/tray_code/payment_gateways/sips/bin/static/request';


    //  Appel du binaire request
    // La fonction escapeshellcmd() est incompatible avec certaines options avancées
    // comme le paiement en plusieurs fois qui nécessite  des caractères spéciaux 
    // dans le paramètre data de la requête de paiement.
    // Dans ce cas particulier, il est préférable d.exécuter la fonction escapeshellcmd()
    // sur chacun des paramètres que l.on veut passer à l.exécutable sauf sur le paramètre data.
    $parm = escapeshellcmd($parm);  
    $result=exec("$path_bin $parm");

    //  sortie de la fonction : $result=!code!error!buffer!
    //      - code=0    : la fonction génère une page html contenue dans la variable buffer
    //      - code=-1   : La fonction retourne un message d'erreur dans la variable error

    //On separe les differents champs et on les met dans une variable tableau

    $tableau = explode ("!", "$result");

    //  récupération des paramètres

    $code = $tableau[1];
    $error = $tableau[2];
    $message = $tableau[3];

    //  analyse du code retour

  if (( $code == "" ) && ( $error == "" ) )
    {
    print ("<BR><CENTER>erreur appel request</CENTER><BR>");
    print ("executable request non trouve $path_bin");
    }

    //  Erreur, affiche le message d'erreur

    else if ($code != 0){
        print ("<center><b><h2>Erreur appel API de paiement.</h2></center></b>");
        print ("<br><br><br>");
        print (" message erreur : $error <br>");
    }

    //  OK, affiche le formulaire HTML
    else {
        print ("<br><br>");

        # OK, affichage du mode DEBUG si activé
        print (" $error <br>");

        print ("  $message <br>");
    }

print ("</BODY></HTML>");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM