在PHP中通过mercanet付款

在PHP中通过mercanet付款,php,e-commerce,payment-gateway,Php,E Commerce,Payment Gateway,在法国一家公司的电子商务网站上,我们希望通过Mercanet(法国巴黎银行)进行支付。我下载了linux的API,它只包含两个二进制文件(请求、响应),没有PHP示例。服务台也没有答复。我还下载了该网站的证书,但由于没有howto文件而卡住了。对于任何使用ATOS/Mercanet/Sips支付系统的人,下面是他们发送给我的PHP文件的示例。 他们所有的帮助文档都是法语 需要注意的是,有32位和64位版本-您必须使用正确的版本。我试过这里提到的技巧 FTP技巧不起作用 32位hack不起作用

在法国一家公司的电子商务网站上,我们希望通过Mercanet(法国巴黎银行)进行支付。我下载了linux的API,它只包含两个二进制文件(请求、响应),没有PHP示例。服务台也没有答复。我还下载了该网站的证书,但由于没有howto文件而卡住了。

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

需要注意的是,有32位和64位版本-您必须使用正确的版本。我试过这里提到的技巧

FTP技巧不起作用

32位hack不起作用

这给了你很好的指导。翻译看起来很好,足以理解它

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

还请记住,如果您使用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>");
print(“互联网上的MERCANET-Paiement证券”);
打印(“”);
打印(“”);
打印(“测试l'API插件MERCANET

”; //假装履行义务 $parm=“商户id=082584341411111”; $parm=“$parm merchant\u country=fr”; $parm=“$parm金额=100”; $parm=“$parm货币代码=978”; //fichier路径文件的化学初始化(A修饰符) //例: //->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'; //斯奥坤交易不受影响,请求延期 //联合国自动请求/分钟/秒 //你的计划指南是什么 //这是一个很好的例子 // //$parm=“$parm transaction_id=123456”; //矫揉造作的活力 //这是一个很好的例子 //《和平与光明》的使用说明 // //$parm=“$parm normal\u return\u url=http://www.maboutique.fr/cgi-bin/call_response.php"; //$parm=“$parm取消\u返回\u url=http://www.maboutique.fr/cgi-bin/call_response.php"; //$parm=“$parm自动\u响应\u url=http://www.maboutique.fr/cgi-bin/call_autoresponse.php"; //$parm=“$parm语言=fr”; //$parm=“$parm payment_意味着=CB,2,VISA,2,万事达卡,2”; //$parm=“$parm头_标志=否”; //$parm=“$parm capture_day=”; //$parm=“$parm capture_mode=“”; //$parm=“$parm bgcolor=”; //$parm=“$parm block_align=“”; //$parm=“$parm block_order=“”; //$parm=“$parm textcolor=”; //$parm=“$parm收据_补充=“”; //$parm=“$parm caddie=mon_caddie”; //$parm=“$parm customer_id=”; //$parm=“$parm customer_email=“”; //$parm=“$parm客户_ip_地址=“”; //$parm=“$parm data=”; //$parm=“$parm return_context=”; //$parm=“$parm target=”; //$parm=“$parm order_id=”; //瑞士瓦勒酒店(Les valeurs suivantes ne sont)可利用资源-生产 //安装在付款服务台上的设备 // //$parm=“$parm normal_return_logo=“”; //$parm=“$parm cancel_return_logo=“”; //$parm=“$parm submit_logo=”; //$parm=“$parm logo_id=“”; //$parm=“$parm logo_id2=”; //$parm=“$parm广告=”; //$parm=“$parm background_id=”; //$parm=“$parm templatefile=”; //在données基地插入命令(可选) //信息系统功能的开发人员 //可执行请求的化学初始化(A修饰符) //例: //->Windows:$path\u 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'; //上诉请求 //La fonction escapeshellcmd()是不兼容的avec certaines选项avancées //在caractères spéciaux酒店的公寓 //支付要求的数据参数。 //在特殊情况下,这是一个非常好的解决方案 //在参数数据上的可切割sauf上的参数。 $parm=escapeshellcmd($parm); $result=exec(“$path_bin$parm”); //飞行架次:结果=!密码!错误!缓冲器 //-code=0:la fonction génère une页面html内容与变量缓冲区 //-code=-1:La FONTION retourne un message d'ERRUR dans La variable error //关于萼片,不同的,不同的,不同的,不同的,不同的 $tableau=爆炸(“!”,“$result”); //情人节 $code=$tableau[1]; $error=$tableau[2]; $message=$tableau[3]; //du码回退分析 如果($code==“”)和($error==“”) { 打印(
erreur appel request
); 打印(“可执行请求非trouve$path_bin”); } //错误,贴上错误的信息 否则如果($code!=0){ 印刷品(如有); 打印(“


”); 打印(“消息错误:$error
”; } //好的,贴上公式HTML 否则{ 打印(“

”); #好的,附加模式调试激活 打印($error
); 打印(“$message
”); } 打印(“”);
您试过给他们打电话吗?如果他们真的不提供任何支持