為了能收信用卡跟Apple pay
串接了綠界
綠界串接方法需要使用 FORM 轉頁,所以需要自己做一頁簡單的html
<?php
include("./EC_CheckMacValue.php");
$paymentUrl = "https://payment.ecpay.com.tw/Cashier/AioCheckOut/V5";
$MerchantID = "跟綠界要"; //廠商ID
$MerchantTradeNo = "一個不重複的隨機亂碼"; //自己產生的訂單id(不能重複)
$MerchantTradeDate = date("Y/m/d H:i:s");
$PaymentType = "aio";
$TotalAmount = "123"; //金額
$TradeDesc = "付款描述";
$ItemName = "付款描述";
$ReturnURL = "在綠界付款後,接收回呼的網址";
$ChoosePayment = "Credit"; //我這邊只接受信用卡,其實還有其他選項
$EncryptType = "1";
$HashKey = ""; //跟綠界要
$HashIV = ""; //跟綠界要
$method = 'sha256';
$reqObj = array();
$reqObj["MerchantID"] = $MerchantID;
$reqObj["MerchantTradeNo"] = $MerchantTradeNo;
$reqObj["MerchantTradeDate"] = $MerchantTradeDate;
$reqObj["PaymentType"] = $PaymentType;
$reqObj["TotalAmount"] = $TotalAmount;
$reqObj["TradeDesc"] = $TradeDesc;
$reqObj["ItemName"] = $ItemName;
$reqObj["ReturnURL"] = $ReturnURL;
$reqObj["ChoosePayment"] = $ChoosePayment;
$reqObj["EncryptType"] = $EncryptType;
$chk = new CheckMacValueService($HashKey, $HashIV, $method);
$CheckMacValue = $chk->generate($reqObj);
?>
<!DOCTYPE html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<title>綠界付款頁面</title>
</head>
<body>
<form id="ecpay-form" method="post" action="<?php echo $paymentUrl; ?>">
<input type="hidden" name="MerchantID" value="<?php echo $MerchantID; ?>">
<input type="hidden" name="MerchantTradeNo" value="<?php echo $MerchantTradeNo; ?>">
<input type="hidden" name="MerchantTradeDate" value="<?php echo $MerchantTradeDate; ?>">
<input type="hidden" name="PaymentType" value="<?php echo $PaymentType; ?>">
<input type="hidden" name="TotalAmount" value="<?php echo $TotalAmount; ?>">
<input type="hidden" name="TradeDesc" value="<?php echo $TradeDesc; ?>">
<input type="hidden" name="ItemName" value="<?php echo $ItemName; ?>">
<input type="hidden" name="ReturnURL" value="<?php echo $ReturnURL; ?>">
<input type="hidden" name="ChoosePayment" value="<?php echo $ChoosePayment; ?>">
<input type="hidden" name="EncryptType" value="<?php echo $EncryptType; ?>">
<input type="hidden" name="CheckMacValue" value="<?php echo $CheckMacValue; ?>">
</form>
<script>
document.getElementById("ecpay-form").submit();
</script>
</body>
</html>
以上就是一個能使用的範例,另外這個工具檔案是綠界提供的
然後需要另一隻php 來接收 綠界付款後送過來確認的訊息,這隻要記得最後要 echo ‘1|OK’;
<?php
include("./EC_CheckMacValue.php");
$HashKey = "跟綠界要";
$HashIV = "跟綠界要";
$method = 'sha256';
$reqObj = $_POST;
$chk = new CheckMacValueService($HashKey, $HashIV, $method);
$CheckMacValue = $chk->generate($reqObj);
if($_POST["CheckMacValue"] == $CheckMacValue && $_POST["RtnCode"] == "1"){
//刷卡成功,這邊可以取出綠界傳過來的訊息,自己做驗證看是不是有這筆訂單等等...
$amount = $_POST["TradeAmt"];
$EC_TradeNo = $_POST["TradeNo"]; //這個就是一開始傳送的 MerchantTradeNo
$paymentTypeChargeFee = $_POST["PaymentTypeChargeFee"];
$rtnCode = $_POST["RtnCode"];
$rtnMsg = $_POST["RtnMsg"];
$simulatePaid = $_POST["SimulatePaid"];
}
echo '1|OK';
?>
