2011-01-06 8 views
0

프랑스에있는 회사의 전자 상거래 웹 사이트에서 Mercanet (BNP Paribas)을 통해 결제하기를 원합니다. 나는 리눅스 용 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>"); 
관련 문제