在位於法國的一家公司的電子商務網站,我們希望通過Mercanet(法國巴黎銀行)進行付款。我下載了Linux的API,它只包含兩個二進制文件(request,response),沒有PHP的例子。服務檯也沒有回答。我也下載了網站的證書,但因爲沒有howto文件而卡住了。通過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. 通過PHP自動化PayPal付款?
- 2. 通過PHP處理Paypal付款
- 3. 無法通過Paypal付款
- 4. 通過PayPal帳戶創建定期付款的付款流程
- 5. 通過PayPal和定期付款的信用卡付款
- 6. 如何立即付款加上通過PayPal定期付款?
- 7. Pay Pal通過直接付款定期付款
- 8. Magento:製作一種「未付款」付款方式,然後通過多筆付款逐漸獲得付款
- 9. 跳過付款PayPal定期付款API
- 10. 使用php的自動付款通知
- 11. 通過PayPal處理的付款方式?
- 12. 通過bitcoinj付款的正確方法
- 13. 付款和付款
- 14. 條紋API PHP。通過subscription_id獲取訂閱的所有付款
- 15. 使用信用卡通過Paypal付款
- 16. 接受通過Shopify API付款
- 17. Authorize.Net通過銀行賬戶付款?
- 18. Authorize.net通過讀卡器付款
- 19. Android:我如何通過付款細節?
- 20. 通過QBO API發送付款
- 21. 通過PayPal實現付款自動化
- 22. 如何通過PayPal IPN拒絕付款?
- 23. 如何通過API取消PayPal付款
- 24. 通過貝寶付款(iOS PayPal sdk)
- 25. 通過xero api無效付款
- 26. PHP的Facebook付款訂閱
- 27. 成功的自適應付款通過PayPal支付請求
- 28. Magento內的支付網關 - 通過信用卡接受付款
- 29. 使用PayPal REST API通過Express Checkout測試拒付的付款
- 30. PHP + PayPal:通過PayPal付款無需登錄屏幕
你有沒有打過電話嗎?如果他們真的不提供任何關於如何實施他們的服務的支持或文件,他們不值得你花時間和金錢。選擇另一個網關。只是我的2c。 – Gordon 2011-01-06 09:08:51