iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0
自我挑戰組

串接綠界服務的疑難雜症詳解系列 第 14

【綠界金流】URL百科 - OrderResultURL

  • 分享至 

  • xImage
  •  

今天來介紹另一個重要的接收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]囉

https://ithelp.ithome.com.tw/upload/images/20240909/20168877Xa0JEXFfcE.png

如上圖可以看到,已經跳回我設定的網址
而且也有收到交易結果通知的payload

小提醒:
如果消費者使用銀聯卡或是非即時交易(ATM、CVS、BARCODE)就不支援[OrderResultURL]回傳


以上就是OrderResultURL的介紹

這裡一樣,提供一些串接時常常會遇到的問題:

問題一:「你要提交的資訊未受到保護」

消費者完成交易後,頁面轉跳時出現:
https://ithelp.ithome.com.tw/upload/images/20240909/20168877bzEpxvNe07.png

為什麼會出現這個頁面?

解答:
綠界科技付款全程使用加密方式傳輸資料「https
如果[OrderResultURL]設為「http
有些瀏覽器會提醒消費者是否要繼續前往下一個網頁

這裡提供幾個解決方案:

  • 改使用ClientBackURL
  • 將[OrderResultURL]設為https

問題二: POST 還是 GET?

綠界文件寫OrderResultURL是用POST方式回傳
但為什麼我看我的IIS紀錄卻是使用GET回傳?

解答:
如果有使用CDN或是有使用代理服務
在轉跳時,就有可能被由POST改成GET
這個就要看自己使用的CDN或是代理服務的相關設定囉

問題三: 沒收到交易成功紀錄

為什麼我的OrderResultURL沒有收到交易成功紀錄
但是綠界後台卻顯示交易成功?

解答:
這就要回到「OrderResultURL」的基本解釋了
OrderResultURL是負責轉跳回網站並傳送交易結果通知的參數

如果消費者完成3D驗證後
在轉跳回你的OrderResultURL「之前」就把頁面關掉
那你的「OrderResultURL」就會收不到通知囉

所以「OrderResultURL」比較容易受到消費者操作影響而收不到通知

因此建議還是用「ReturnURL」作為主要判斷交易結果的方式會比較保險

小技巧:
如果一直沒收到綠界回傳交易結果
可以自行呼叫「查詢訂單」API取得交易結果
也是一種方式哦


以上,就是今天對於OrderResultURL的介紹
有任何問題都可以留言

我們明天見


上一篇
【綠界金流】URL百科 - ReturnURL
下一篇
【綠界金流】URL百科 - PaymentInfoURL 與 ClientRedirectURL
系列文
串接綠界服務的疑難雜症詳解30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言