[C#] 快速上手 OEN 應援科技支付 API:使用信用卡的 Token 進行付款
上一篇文章提到如何使用信用卡卡號交換 Token,實現更安全的支付處理方式。透過將信用卡資訊轉換為 Token,可以減少直接存取敏感資訊的風險,
並在系統設計上提升合規性和安全性。 接下來,我們將進一步探討如何使用取得的 Token 進行實際的付款交易。這個步驟是支付流程中的關鍵環節,
能讓客戶在不重複輸入信用卡資訊的情況下,輕鬆完成購物或服務的支付。Token 的使用能夠簡化交易過程,提升使用者體驗,同時降低資訊洩露的風險
。 讓我們直接從程式碼開始,看看如何實現這個過程。這段程式碼將展示如何透過 Token 進行付款,並處理支付的 API 呼叫,確保交易順利完成。
[C#] 快速上手 OEN 應援科技支付 API:使用信用卡換 Token
上一篇文章(快速上手 OEN 應援科技支付 API:C# 信用卡串接範例),寫到 OEN 應援科技的金流系統,如何串接信用卡支付,今天要來聊聊如何使用
OEN 應援科技 使用信用卡換成 Token ,之後你只要將用戶跟 Token 進行關聯,之後客戶消費就可以使用 Token
這樣在系統設計上,比較不會有爭議
[C#] 快速上手 OEN 應援科技支付 API:C# 信用卡串接範例
最近在幫朋友處理一家金流公司 OEN 應援科技 的串接,不過基本上,就是老樣子,我就是大概寫出來 sample code
之後的應用就看大家了,只是因為想說都比較少人分享 C# 上的 code ,自己剛好寫了就筆記一下
[ASP.NET] Razor 控制 HTML 元素屬性:快速實現常見操作
今天寫一些每天都會用到,但是有時候就是會忘記然後去查一下
想了想不如寫一篇文章整理一下,讓自己記住,如果你覺得太簡單就直接跳過吧
我只是要記錄一下一些 Razor 在 HTML 中下的操作方式。
[Google 試算表] 資料驗證:設定欄位日期不可小於某儲存格輸入的日期(動態資料)
最近有用到這需求,我需要在 Google Sheets 中判斷某一欄 ( Column ) 的資料,裡面輸入的日期
都必須要小於另一個欄位的值,我測試許多方法,後來發現其實很簡單,
是我把事情想得太複雜了
標籤: GOOGLE
[C#] 實現 TabPay 金流平台的快速信用卡支付整合(保留卡片) - Pay By Card Token
接續上一篇文章,這也是為何主要最後選 TabPay 的原因,因為他可以保存住客戶的信用卡授權
然後再次進行刷卡,但是得先取得授權並且保存著,這時候要使用的就是 Pay by Card Token
[C#] 實現 TabPay 金流平台的快速信用卡支付整合 - Get Prime
最近因為有需要,所以用到了一個三方金流的公司叫做 TabPay全方位金流平台,因為之前都只有接藍綠紅
現在百花齊放,因為看一下範例很多都是用 python 寫的,所以想說就筆記一下使用 C# 開發信用卡付款的方法
之後要用到就可以快速復習一下
[C#] 在網頁專案中使用 HtmlSanitizer 來防範 XSS 攻擊
在做網頁專案中,很常會使用到 summernote 或是其他的 html 編輯器套件,會讓客戶輸入他自己要輸入的 html
但是呢為了避免客戶輸入的 的程式碼造成 XSS 攻擊,所以有些 Tag 或是 Attribute 是危險的,這時候有同事推薦這個套件
[C#] 可程式化的免費圖床方案 - Pinata
[C#] 可程式化的免費圖床方案 - SM.MS
[C#] 可程式化的免費圖床方案 - Cloudinary
之前圖床都是用 imgur ,但是最近因為客戶違規,導致我的 API 或是 IP 被擋住
這時候客戶基本上想要換一間圖床,所以簡單做一下功課,基本上不知道問誰就問了一下 GPT
之後就整理了一下幾家,今天就先分享 Cloudinary
[Google 試算表] 如何用 Google Sheets 的 =IMAGE 函數自動抓取和調整網路圖片
網路上問我 Google Sheets 的朋友其實不少,最近遇到一個問題
有沒有辦法插入網路上的圖片,其實可以的而且可以直接顯示,不過寬度就是要自己調整就是了
畢竟這就是 Excel 類的東西,圖片類的就是比較麻煩一點
[C#] .NET8 - Razor Pages 中的 Partial Layout:如何分離佈局並載入動態資料
最近在做一些專案轉移,遇到以前的 .NET Framework 的 WebForm 轉到新的 .NET 8 上面
在 .NET Razor Pages 中,Partial Layout 是一種可以分離頁面佈局和邏輯的方法,
允將重複的 Layout 部分抽取到一個單獨的文件中,並根據需要載入不同的資料。這種方式不僅提升了代碼的重用性和可維護性,還使得頁面更加模組化和靈活。
有點類似以前 Web Component 的作法,但是不會有 Postback 的麻煩問題,筆記一下
[C#] Edge WebView2 擴充套件實作筆記:安裝及常見問題解析
更新一下,最近在繼續研究 Edge WebView2 ,因為要處理一些麻煩的東西需要安裝外掛 (extension)
是成功安裝了,但是還有些小問題,這邊先筆記一下,之後有任何突破在更新吧..
[C#] Edge WebView2 與 WinForms:實現按鈕事件與本地代碼交互的指南
今天來寫一篇關於 Edge WebView2 中會用到的部份,就是我在載入在 Edge WebView 2 中的網頁
我先注入 JQuery ,然後我加入按鈕事件以外,並且將該按鈕點擊事件中,傳入訊號給主體的 winform
這樣就可以做到 call native code.
[C#] 在 WinForms 中使用 Edge WebView2 處理新視窗點擊事件
這幾天分享一了關於 Edge WebView2 的應用,這時候有同事問我如何處理開新視窗之後的處理
他必須要模擬點擊,但是該連結為 _blank ,他必須要處理點擊後的視窗,在預設中的確會開啟一個新的視窗長這樣..
[C#] 如何在 Edge WebView2 中注入和使用 JQuery 來改變網頁內容
上一篇文章簡單的介紹了 Edge WebView2 的套件,接下來,就是比較要做的常規操作,就是我們要 inject 一些 js 進去
今天主要目的就是,載入網頁後,在 inject JQuery 之後再呼叫一行 JQuery 的程式去改變網頁上面的內容.
標籤: C# , Javascript , Winform
[C#] 簡單使用 Microsoft Edge WebView2 在 WinForms 中的應用
好久沒寫 WinForms 了,最近因為有一些比較麻煩的需求,所以必須使用 WinForms 來解決問題會比較簡單。
這次的需求是要操控網頁來取得一些資料,經過評估,決定使用 WinForms。然而,想到 WebView 用的是舊版的 IE 核心,本來打算使用第三方的 Chromium 套件,但查了之後發現竟然有 Microsoft 官方推出的 Edge WebView2。
[C#] 解決 .NET 6 部署到 Linux 出現亂碼問題的經驗分享
今天要記錄一個不大不小的事情,因為最近在部署 .NET 6 網站到 Linux 機器上時,出現了亂碼方框的問題。
經過查詢,發現這是編碼問題引起的。雖然預設情況下應該是使用 UTF-8 編碼,但有時候在複製貼上內容時,會自動變成 Big5 編碼。
標籤: .Net6 , .netcore , ASP.net , Linux , Raspberry Pi
[C#] 透過Azure Blob 租用解決Azure App Service Scale Out 多 Instances 使用同一個 Lock
[C#] Automatic scaling in Azure App Service 如何取得 Instance Id
最近在測試一些東西,是基於 Azure APP-SERVICE ,基本上 Azure App Service Auto Scaling 是一項能夠根據應用程式負載自動調整資源規模的功能
簡單的說就是,你可以設定一些CPU ,記憶體用量,PORT 數等等,去自動開機機器去服務
這邊就不贅述,這篇主要是分享如果他分裂成兩台這時候,我們怎麼去知道用程式知道我們是跑在哪一個 instance
[C#] 不用 Access Token 如何獲取粉絲專頁的 UID
記錄一下,最近有需求就是不要等入下取得臉書的公開資訊,所以目前解決方案就是
透過爬蟲,今天的範例,就是不登入狀況下,沒有 Access Token 下取得 LadyGaGa 臉書粉絲專業的 Fanspage ID
[C#] 探索 FreeSql:讓資料庫操作更為簡便高效 - 一對多的對應輕鬆操作
上一篇文章,我們針對 資料如果過於龐大,拆成兩張表,並且同 Key 狀況下
進行 Table 擴充,還有一種狀況在開發上會常遇到的就是 OneToMany 的狀況
我有一個 OrderInfo 他有一個 Propery 物件為 Cate ,但是 CATES 表格中 中,每一個 Cate 會被許多 OrderInfo 的 CateId 給關聯著
[C#] 探索 FreeSql:讓資料庫操作更為簡便高效 - 擴增資料 OneToOne
上一篇文章,我們簡單的測試了 FreeSql ,今天我們要稍微複雜一點了
我們常常再設計資料庫表格的時候假設有一個資料模型非常大,這時候我們會拆開
把熱資料當作主表,其他比較冷的資料,會再用另一張表紀錄,這時候要用到 FreeSql OneToOne 的概念
[C#] .Net 下操作 Excel 新選擇 EPPlus - 輸出 Excel 中的圖片,取得圖片在 Excel 中的資訊。
最近因為處理 Excel 比較多,所以分享比較多 EPPlus 遇到的事情跟心得,最近這需求是因為
我要去抓取 Excel 中的圖片,並且把其中的圖片抓出來,這邊是簡化過的範例,畢竟只是寫文章記錄
不用這麼去複雜化案例,這邊是我開一個 Excel 隨便貼入兩張圖,之後我們來測試看看使用 EPPlus 來把兩張圖片在 Excel 中的資訊抓出
並且把檔案輸出成每個圖檔..
[C#] .Net 下操作 Excel 新選擇 EPPlus - 插入圖片,技巧使用 AutoFit
最近使用 EPPlus 來解決 , Excel 問題,不免俗的又是遇到一個萬年的問題
如何插入圖片,其實在 Excel 中插入圖片一直都是一個麻煩的問題,因為圖片其實都是浮在儲存格的上面
所以,基本上你很難控制儲存格的大小,但是其實是有一個小技巧,以前我在處理 Excel 也是這樣處理的..
[C#] .Net 下操作 Excel 新選擇 EPPlus - 超簡單將 List 輸出成 Excel 檔案
[Google 試算表] 透過 Yahoo Finance 撈取各國的股票現在價格
筆記一下免得之後找不到,之前有一篇文章 取得台灣股票現在的價格,而不使用 GOOGLEFINANCE 內建的方法
之後我分享在網路上,有人就問我說可不可以撈取其他國家,像是 日本 或是 新加坡的股票
其實我當下提供了 GOOGLEFINANCE,其實就可以辦到,但是...
標籤: 隨貼即用 , GOOGLE , Javascript , office
[C#] .Net 下操作 Excel 新選擇 EPPlus - 建立 Excel 檔案,讀取 Excel ,寫入公式,計算公式讀取公式
[C#] 一個輕量化的Database - LiteDB 中索引 ( index ) 的相關測試
今天主要不是寫程式,主要是測試 LiteDB 到底對於索引的處理結果,我這邊有三個測試 collection
FRIEND1- 一百萬的資料沒有做索引
FRIEND2- 前50 萬筆建立好後,製作索引,後面再寫入 50萬筆
FRIEND3- 一百萬筆資料建立好後,再建立索引
[C#] 一個輕量化的Database - LiteDB 中的 關聯式操作 : DbRef
[C#] 一個輕量化的Database -LiteDB 製作 List<Object>屬性索引查詢的最佳方法
上一篇文章 說到 LiteDB 製作索引(index) ,百萬資料測試查詢篇,後來我有測到一個東西
就是我對屬性是 List<Object> 中的 某一屬性進行查詢,是不是可以做索引 (index) ,
答案是可以的,但是要直接做到 List<Object> 中要被查詢的該屬性..
[C#] 一個輕量化的Database - LiteDB 大檔處理 _files,_chunks
如果是測試 Database 我也很好奇,LiteDB 是怎麼處理大型檔案格式的,看了一下
你將大檔案寫入該資料庫中,他會規畫一區讓你放檔案,有一張表負責記錄你放入啥檔案,另外一個 他稱之為 chunk 的
主要是會把檔案切割,每 255KB 切一段
[C#] 一個輕量化的Database - LiteDB 中 Shared Connection + Parallel.For 測試修改一筆資料
[C#] 一個輕量化的Database - LiteDB 關於 Transation 的測試 Commit , Rollback
[C#] 一個輕量化的Database - LiteDB 各種查詢姿勢
最近因為在測試 LiteDB ,所以這邊筆記幾個查詢方法,可以方便自己之後可以快速的回憶起來要怎麼寫
下面主要就是列舉幾種查詢資料的方法,最後一個測試比較久因為我查詢了 物件中的 List<Object>
裡面的屬性並且使用 %LIKE%
[C#] 一個輕量化的Database - LiteDB 關於 BsonValue 轉回物件問題
今天來說一個在嘗試 LiteDB 的時候遇到的錯誤,因為該套件的底層是使用 BSON ,所以在還原回物件的時候
他預設都是 LiteDB.BsonValue ,因為我直接下一個查詢語法後直接使用 Json.NET , SerializeObject 的時候直接出現錯誤
Unhandled exception. Newtonsoft.Json.JsonSerializationException: Error getting value from 'AsBoolean' on 'LiteDB.BsonValue'.
---> System.InvalidCastException: Unable to cast object of type 'System.String' to type 'System.Boolean'.
at lambda_method23(Closure, Object)
at Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(Object target)
--- End of inner exception stack trace ---
[C#] 一個輕量化的Database - LiteDB的簡介與使用
[C#] .NET8 - SHA3-256 操作遭遇的平台問題
最近在看 .NET 8 新功能,最近好像多了 SHA3_256 ,因為之前在弄區塊鏈的東西,其實都是使用套件
BouncyCastle 套件,但是現在 .NET 8 好像已經內建有支援,想說來測試一下,結果出現了
Unhandled exception. System.PlatformNotSupportedException: Operation is not supported on this platform.
at System.Security.Cryptography.SHA3_256.TryHashData(ReadOnlySpan`1 source, Span`1 destination, Int32& bytesWritten)
at System.Security.Cryptography.SHA3_256.HashData(ReadOnlySpan`1 source, Span`1 destination)
at System.Security.Cryptography.SHA3_256.HashData(ReadOnlySpan`1 source)
at System.Security.Cryptography.SHA3_256.HashData(Byte[] source)
標籤: .Net , .Net8 , .NetCore小筆記 , C#
[C#] .NET8 - Dictionary、FrozenDictionary、HashTable的性能對決
最近在看 .NET 8 新功能,有一個東西有點興趣 就是 FrozenDictionary ,想說他跟傳統的 Dictionary 有啥不同
畢竟 .NET 8 是以輾壓級效能做為賣點 ,看了一下官方這段話的介紹
以效能為焦點的類型.NET 8 引進數種旨在改善應用程式效能的新類型。
新的 System.Collections.Frozen
命名空間包含集合類型和 FrozenDictionary、
感覺使用上就是拿來可以放在記憶體中快速索引的好東西,直接用 BenchmarkDotNet 跑一下
標籤: .Net , .Net8 , .NetCore小筆記 , C#
[.Net8]從AOT到dotnet publish:在Raspberry Pi 3上成功運行.NET 8 Web API的步驟
最近因為要佈署一些 基於 .Net8 的Web API 到 Raspberry Pi 3 上面跑,因為 .Net 8 AOT 無法在上面執行
所以還是得安裝 dotnet 8 runtime ,因為我不死心我直接把程式碼放上去編譯,我原本是在 x64 電腦編譯後放過去
結果無法執行起來即使我 chmod+x 也沒用,但是放上去 透過 dotnet publish 後發現
標籤: .netcore , ASP.net , C# , Native AOT , Raspberry Pi , RPi , WebAPI
[.Net][RPi] 將.NET 8搬上Raspberry Pi 3的操作指南
最近很訝異,因為我在 一台舊舊的 Raspberry Pi 3 上面執行起來一個 .net 8 的程式
雖然玩 Pi 也是有些年頭了,但是我沒有在上面面跑過 .Net 到是 Chromebook 我之前有在上面寫過 ASP.net 的小專案
重點是 因為我跑的機器是 Pi 3 ,我比較訝異,因為到了 Pi 4 性能上都有爆發成長都可以裝 Win11 了
這次我測是跑的專案是 這個 之前寫的 Console ,然後就放到 Pi3 上面跑跑看竟然成功了
所以分享一下步驟
標籤: .Net8 , Native AOT , Raspberry Pi , RPi