今天來介紹另一個重要的接收URL
OrderResultURL
OrderResultURL與ReturnURL功能類似
一樣是在消費者完成付款後,接收綠界回傳的交易結果
但差別在於
綠界是使用 「Client POST(前端接收)」方式回傳交易結果
並同時將頁面轉跳至[OrderResultURL]
例如,消費者付款完成後,想要將畫面「自動」跳回我的購物車頁面
所以我將該購物車頁面網址設定為
https://552c-211-23-76-78.ngrok-free.app/hi/OrderResultURL.php
內容寫一個感謝頁面
<!DOCTYPE html>
<html lang="zh-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>訂單確認</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
.container {
background-color: #fff;
padding: 20px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
text-align: center;
}
h1 {
color: #4CAF50;
}
</style>
</head>
<body>
<div class="container">
<h1>我們已經收到你的訂單</h1>
<p>感謝你的購買!我們將儘快處理你的訂單。</p>
</div>
</body>
</html>
建立訂單時,記得要帶入正確的網址
OrderResultURL => 'https://552c-211-23-76-78.ngrok-free.app/hi/OrderResultURL.php',
進行如上設定後
當消費者結束交易
綠界就會「自動」跳回你的[OrderResultURL]囉
如上圖可以看到,已經跳回我設定的網址
而且也有收到交易結果通知的payload
小提醒:
如果消費者使用銀聯卡或是非即時交易(ATM、CVS、BARCODE)就不支援[OrderResultURL]回傳
以上就是OrderResultURL的介紹
這裡一樣,提供一些串接時常常會遇到的問題:
消費者完成交易後,頁面轉跳時出現:
為什麼會出現這個頁面?
解答:
綠界科技付款全程使用加密方式傳輸資料「https」
如果[OrderResultURL]設為「http」
有些瀏覽器會提醒消費者是否要繼續前往下一個網頁
這裡提供幾個解決方案:
綠界文件寫OrderResultURL是用POST方式回傳
但為什麼我看我的IIS紀錄卻是使用GET回傳?
解答:
如果有使用CDN或是有使用代理服務
在轉跳時,就有可能被由POST改成GET
這個就要看自己使用的CDN或是代理服務的相關設定囉
為什麼我的OrderResultURL沒有收到交易成功紀錄
但是綠界後台卻顯示交易成功?
解答:
這就要回到「OrderResultURL」的基本解釋了
OrderResultURL是負責轉跳回網站並傳送交易結果通知的參數
如果消費者完成3D驗證後
在轉跳回你的OrderResultURL「之前」就把頁面關掉
那你的「OrderResultURL」就會收不到通知囉
所以「OrderResultURL」比較容易受到消費者操作影響而收不到通知
因此建議還是用「ReturnURL」作為主要判斷交易結果的方式會比較保險
小技巧:
如果一直沒收到綠界回傳交易結果
可以自行呼叫「查詢訂單」API取得交易結果
也是一種方式哦
以上,就是今天對於OrderResultURL的介紹
有任何問題都可以留言
我們明天見