[C#] 快速上手 OEN 應援科技支付 API:使用信用卡的 Token 進行付款

2024-10-21

上一篇文章提到如何使用信用卡卡號交換 Token,實現更安全的支付處理方式。透過將信用卡資訊轉換為 Token,可以減少直接存取敏感資訊的風險,

並在系統設計上提升合規性和安全性。 接下來,我們將進一步探討如何使用取得的 Token 進行實際的付款交易。這個步驟是支付流程中的關鍵環節,

能讓客戶在不重複輸入信用卡資訊的情況下,輕鬆完成購物或服務的支付。Token 的使用能夠簡化交易過程,提升使用者體驗,同時降低資訊洩露的風險

。 讓我們直接從程式碼開始,看看如何實現這個過程。這段程式碼將展示如何透過 Token 進行付款,並處理支付的 API 呼叫,確保交易順利完成。




1. 首先你得開通商戶,取得 merchantid 還有 token


2. 在來就是程式碼的部分,其中只需要輸入  token 即可,再也不需要再次輸入 信用卡卡號

/// <summary> /// 使用user token 進行付款 /// &lt;/summary&gt; /// &lt;param name=&quot;amount&quot;&gt;&lt;/param&gt; /// &lt;param name=&quot;orderId&quot;&gt;&lt;/param&gt; /// &lt;param name=&quot;token&quot;&gt;&lt;/param&gt; /// &lt;param name=&quot;userId&quot;&gt;&lt;/param&gt; /// &lt;param name=&quot;userName&quot;&gt;&lt;/param&gt; /// &lt;param name=&quot;note&quot;&gt;&lt;/param&gt; /// &lt;param name=&quot;testMode&quot;&gt;&lt;/param&gt; public PayByUserTokenResponse PayByUserToken(int amount, string orderId, string token, string userId, string userName, string note, bool testMode = true) { var transationUrl = TestPaymentUrl; if (!testMode) { transationUrl = ProductPaymentUrl; } try { var client = new RestClient(transationUrl); // 創建 POST 請求 var request = new RestRequest("token/transactions", Method.Post); // 設置 JSON 數據 var transData = new { merchantId = MerchantId, amount = amount, token = token, userId = userId, userName = userName, orderId=orderId, note = note }; // 添加 JSON Body 到請求中 request.AddJsonBody(transData); request.AddHeader("Authorization", "Bearer " + AuthToken); request.AddHeader("Content-Type", "application/json"); // 發送請求並接收回應 var response = client.ExecuteAsync(request).Result; return JsonConvert.DeserializeObject<PayByUserTokenResponse>(response.Content); } catch (Exception ex) { throw ex; } }

public class PayByUserTokenData { public string id { get; set; } public string authCode { get; set; } } public class PayByUserTokenResponse { public string code { get; set; } public PayByUserTokenData data { get; set; } public string message { get; set; } }


3.接下來就是呼叫的部分

var oenHandlr = new OENCashHandler(MerchantId, Token); var res = oenHandlr.PayByUserToken(44, "token_order_" + DateTime.Now.ToString("mmddHHmmss"), usertoken, "userid_donma", "donma", "筆記測試"); Result = JsonConvert.SerializeObject(res); //response //{"code":"S0000","data":{"id":"P20241021Z2AVCOV8","authCode":"831000"},"message":""}


總結來說,使用 Token 進行付款不僅簡化了支付流程,也增強了交易的安全性。這種做法避免了反覆輸入信用卡資訊,降低了敏感資料外洩的風險。

同時,透過 API 呼叫來實現 Token 支付,讓系統能夠高效而靈活地處理交易,提升整體使用者體驗。

雖然 OEN 應援科技的支付 API 提供了強大的功能和靈活性,但因為是新創公司,API 可能會持續更新或修改。

因此,開發者在實作時應保持靈活,並隨時檢查官方文件以掌握最新的變動。

希望這篇文章能幫助你快速上手 Token 付款的實作,如果有其他需求或進階應用,歡迎參考官方文件或持續關注後續的文章,我們將分享更多支付串接的實用技巧

前提是之後如果是我有用到的話...



當麻許的碎念筆記 2014 | Donma Hsu Design.