上一篇文章提到如何使用信用卡卡號交換 Token,實現更安全的支付處理方式。透過將信用卡資訊轉換為 Token,可以減少直接存取敏感資訊的風險,
並在系統設計上提升合規性和安全性。
接下來,我們將進一步探討如何使用取得的 Token 進行實際的付款交易。這個步驟是支付流程中的關鍵環節,
能讓客戶在不重複輸入信用卡資訊的情況下,輕鬆完成購物或服務的支付。Token 的使用能夠簡化交易過程,提升使用者體驗,同時降低資訊洩露的風險
。
讓我們直接從程式碼開始,看看如何實現這個過程。這段程式碼將展示如何透過 Token 進行付款,並處理支付的 API 呼叫,確保交易順利完成。
1. 首先你得開通商戶,取得 merchantid 還有 token

2. 在來就是程式碼的部分,其中只需要輸入 token 即可,再也不需要再次輸入 信用卡卡號
///
/// 使用user token 進行付款
/// </summary>
/// <param name="amount"></param>
/// <param name="orderId"></param>
/// <param name="token"></param>
/// <param name="userId"></param>
/// <param name="userName"></param>
/// <param name="note"></param>
/// <param name="testMode"></param>
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(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 付款的實作,如果有其他需求或進階應用,歡迎參考官方文件或持續關注後續的文章,我們將分享更多支付串接的實用技巧
前提是之後如果是我有用到的話...