프랑스에있는 회사의 전자 상거래 웹 사이트에서 Mercanet (BNP Paribas)을 통해 결제하기를 원합니다. 나는 리눅스 용 API를 다운로드했다. 단지 2 개의 바이너리 파일 (요청, 응답) 만 포함하고있다. PHP 예제가 없다. 헬프 데스크에서 답변도 없습니다. 또한 웹 사이트에 대한 인증서를 다운로드했지만, 하우투 파일이 없으므로 막혔습니다.PHP에서 mercanet을 통해 결제하기
0
A
답변
1
ATOS/Mercanet/Sips 지불 시스템으로 머리카락을 뽑아내는 사람은 누구나 저에게 보낸 PHP 파일의 예입니다. 도움말 문서는 모두 프랑스어로되어 있습니다.
32 비트 및 64 비트 버전이 있다는 점에 유의해야합니다. 올바른 버전을 사용해야합니다. 나는 작동하지 않았다 여기
FTP 트릭 언급 한 트릭을 시도했다.
32 비트 해킹
이 당신에게 꽤 좋은 지침을 제공 작동하지 않았다. 번역은 의미 올바른 버전을 가지고 한 일이
유일한로 만들기에 충분 좋아 보인다.
또한 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>");
관련 문제
- 1. Paypal로 결제하기
- 2. 웹 사이트에서 결제하기
- 3. 결제하기 및 받기?
- 4. Android/Blackberry에서 신용 카드 결제하기
- 5. PHP에서 SimpleXml 객체를 통해 반복하십시오.
- 6. PHP에서 배열을 통해 여행하는 방법?
- 7. php에서 모뎀을 통해 전화 걸기
- 8. 콘솔을 통해 PHP에서 pdo에 액세스
- 9. 아약스를 통해 PHP에서 jquery에 배열
- 10. JSON/Ajax를 통해 PHP에서 반환 된 값
- 11. PHP에서 cURL을 통해 소스 서버 도메인을 요청하십시오.
- 12. PHP에서 .htaccess를 통해 세션 시간 초과를 연장합니다.
- 13. PHP에서 JQuery를 통해 페이징을 구현하는 방법은 무엇입니까?
- 14. 어떻게 php에서 에코 라인을 통해 작성합니까?
- 15. PHP에서 명령 줄을 통해 배열을 R
- 16. 명령 프롬프트를 통해 PHP에서 .jar 파일 실행
- 17. PHP에서 Javascript가 AJAX를 통해 호출되지 않았습니다.
- 18. exec() 함수를 통해 PHP에서 SASS를 실행하려고 시도했습니다.
- 19. PHP에서 엄격한보고를 통해 오류를 관리하려면 어떻게합니까?
- 20. PHP에서 mysql 쿼리를 통해 행을 반복하는 방법
- 21. 교환 이메일을 통해 PHP에서 이메일 보내기
- 22. PHP에서 HTTPS를 통해 POST 요청을하는 방법은 무엇입니까?
- 23. PHP에서
- 24. PHP에서
- 25. PHP에서
- 26. PHP에서
- 27. SBS 2003을 통해 팩스 보내기 Linux/PHP에서 교환
- 28. php에서 URL을 통해 둘 이상의 변수를 전달하는 방법은 무엇입니까?
- 29. CURL을 통해 쿼리 링크를 반복하고 PHP에서 결과 배열 병합
- 30. PHP에서 GET 메소드를 통해 html 엔티티 텍스트를 보내려면 어떻게해야합니까?
은 당신이 그들을 호출하려고 했습니까? 서비스를 구현하는 방법에 대한 지원이나 문서를 제공하지 않는다면 시간과 돈을 투자 할 가치가 없습니다. 다른 게이트웨이를 선택하십시오. 그냥 내 2c. 답장을 보내 주셔서 감사합니다. – Gordon
직접 연락 할 수있는 방법을 발견하고 PHP 예제를 얻었습니다. 아무도 경험이 없으면 방황했습니다. – bkilinc
당신의 솔루션을 공유하는 마음? –