2011-01-06 25 views
0

フランスにある会社のeコマースウェブサイトでMercanet(BNP Paribas)から支払いを受けたいと考えています。私はLinux用のAPIをダウンロードしました.2つのバイナリファイル(リクエスト、レスポンス)しか含まれていません。PHPの例はありません。ヘルプデスクからの回答もありません。また、私はウェブサイトの証明書をダウンロードしましたが、ハウツーファイルが存在しないので固執しました。PHPでmercanetを使って支払いをしています

+1

は、あなたがそれらを呼び出してみましたがありますか?彼らが本当にサービスを実装する方法について何かサポートやドキュメントを提供していないのであれば、時間とお金の価値はありません。別のゲートウェイを選択します。ちょうど私の2c。返信ありがとう。 – Gordon

+0

私は直接接触するかもしれない方法を見つけ、いくつかのPHPの例がある。誰かが経験を持っていればたださまよった。 – bkilinc

+0

あなたのソリューションを共有していますか? –

答えて

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>"); 
関連する問題