2011-01-06 14 views
0

在位於法國的一家公司的電子商務網站,我們希望通過Mercanet(法國巴黎銀行)進行付款。我下載了Linux的API,它只包含兩個二進制文件(request,response),沒有PHP的例子。服務檯也沒有回答。我也下載了網站的證書,但因爲沒有howto文件而卡住了。通過PHP中的mercanet付款

+1

你有沒有打過電話嗎?如果他們真的不提供任何關於如何實施他們的服務的支持或文件,他們不值得你花時間和金錢。選擇另一個網關。只是我的2c。 – Gordon 2011-01-06 09:08:51

回答

1

對於那些用ATOS/Mercanet/Sips支付系統拉他們的頭髮的人,下面是他們發給我的PHP文件的一個例子。 他們所有的幫助文檔都是法文的。

需要注意的是,有32位和64位版本 - 您必須使用正確的版本。我想在這裏

https://translate.googleusercontent.com/translate_c?depth=1&hl=en&prev=search&rurl=translate.google.co.za&sl=fr&u=http://www.developpez.net/forums/d599959/webmasters-developpement-web/general-conception-web/e-commerce/probleme-d-installation-d-plug-in-mercanet/&usg=ALkJrhj4iJ0kxEE9EoUbQTjq_0peu4_PSQ

FTP招提到的沒有工作的小伎倆。

https://translate.googleusercontent.com/translate_c?depth=1&hl=en&prev=search&rurl=translate.google.co.za&sl=fr&u=http://www.developpez.net/forums/d1154720/webmasters-developpement-web/general-conception-web/e-commerce/probleme-d-installation-d-plug-in-mercanet/&usg=ALkJrhiEypDQCmEu5uVWD5uDpOChAAaNbQ

32位黑客沒有工作

這個給你相當不錯的指令。譯文看起來不夠好,使的意義上,它

https://translate.googleusercontent.com/translate_c?depth=1&hl=en&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>");