programming

ลองเขียน Flutter เชื่อมต่อกับ Omise RESTful API เล่นๆ

ในช่วงเดือนที่ผ่านมามีคนคุยกันเรื่อง Flutter ค่อนข้างมาก ก็เลยถือเอาเวลาว่างเมื่อวานมาลองเขียน Flutter ดู โดยมีโจทย์คือเขียนเชื่อมต่อ RESTful API ของทาง Omise และต้องเขียน Test ได้ โดย API ที่ตั้งโจทย์ไว้คือ API ทางฝั่ง Client ที่ใช้งานแค่ public key คือ Token… Read More »ลองเขียน Flutter เชื่อมต่อกับ Omise RESTful API เล่นๆ

ทดลองเขียน Next.js ดูเล่นๆ

วันนี้ได้ทดลองเล่น Next.js ดู รู้สึกว่าสนุก! ถึงแม้ว่ายังไม่ได้ลองอะไรลึกๆ แต่มีความรู้สึกว่า Next.js มีการวางโครงสร้างไว้ให้ใช้งานง่ายๆ ยกตัวอย่างเหมือนการเขียน PHP แค่วางไฟล์ลงในโฟลเดอร์ /pages โครงสร้างของไฟล์และโฟลเดอร์จะสะท้อนถึง url โดยไม่ต้องมากำหนด routes … ฟังดูอาจจะงง ยกตัวอย่างเช่น pages|- index.js|- about.js|- blog |- index.js… Read More »ทดลองเขียน Next.js ดูเล่นๆ

credit card payment

เชื่อมต่อกับ Omise อย่างง่ายๆ ด้วย Node.js

นานๆ จะกลับมาอัพเดท blog สักที เมื่อวันที่ผ่านมาได้มีโอกาสนั่งเขียนโค้ดเพื่อเป็นตัวอย่างในการเชื่อมต่อกับ Omise Payment Gateway อย่างง่ายๆด้วย node.js (express.js) โดยในโค้ดก็จะครอบคลุมการสร้าง Charge อย่างง่ายๆ ไม่ว่าจะเป็น Credit / Debit card และ Internet Banking รวมไปถึงการรับ WebHooks ด้วย

Framework Selection

ASP.NET Core กับ omise-dotnet

เกริ่นก่อนว่าได้เข้าไปลองดูตัวอย่างใน http://github.com/omise/examples ซึ่งในนั้นก็มีตัวอย่างสำหรับ ASP.NET เพียงแต่ว่าเป็นตัวอย่างที่รองรับการรันบน .NET Framework 4.5 (ละมั้งถ้าจำไม่ผิด) ซึ่งถ้าเอามาลองรันบน macOS แล้ว เหมือนจะรันได้ แต่พอ Submit ปุ๊ปก็จะ error เกี่ยวกับ System.Web.UI ซึ่งเท่าที่ทดลองค้นหาข้อมูลใน Google ก็พบว่ามันไม่รองรับ Web Forms นั่นเอง (https://docs.microsoft.com/en-us/aspnet/core/fundamentals/choose-aspnet-framework?view=aspnetcore-2.1) ก็เลยทดลองเขียนตัวอย่างสำหรับ… Read More »ASP.NET Core กับ omise-dotnet

Omise Payment Flow สำหรับ 3-D Secure

Omise Payment Method

ก่อนที่จะอธิบาย Omise Payment Flow ขออนุญาตอธิบายถึงวิธีการสร้าง Charge หรือการชำระกับทาง Omise (อ่านว่า โอ-มิ-เซะ หลายคนอ่านกัน โอมิส 😂) ก่อน ซึ่งในตอนนี้มีหลายรูปแบบ โดยคร่าวๆที่ทราบตอนนี้คือมี

  1. Credit / Debit card ชำระผ่านบัตรเครดิต หรือบัตรเดบิต ซึ่งสามารถแยกได้อีก 2 รูปแบบย่อยคือ Non 3-D Secure (Non 3DS) กับ 3-D Secure (3DS)
    บางคนงงว่า 3DS มันคืออะไร ก็ลองอ่านจากบทความนี้ดูครับ
  2. Internet Banking ชำระผ่านอินเตอร์เน็ตแบงค์กิ้ง
  3. Alipay (Online) ชำระผ่านอาลีเพย์แบบออนไลน์
  4. Bill Payment (Tesco Lotus) ชำระด้วยบาร์โค้ดที่เทสโก้โลตัส (ในบทความนี้จะไม่พูดถึงเรื่อง Bill Payment)

Read More »Omise Payment Flow สำหรับ 3-D Secure

Github - omise-react-native

omise-react-native 0.0.4 มาแล้วว

ก่อนหน้านี้ผมได้สร้าง package สำหรับคนที่ต้องการใช้งาน Omise ด้วย react-native โดยสามารถสร้าง Token ได้

ที่ผ่านมาทาง Omise ได้มี API ใหม่ที่ชื่อว่า Source API (สำหรับ API version 2017-11-02 ขึ้นไป) ซึ่งเจ้า Source API นี้มันทำตัวคล้ายๆกับ Token แต่ไม่ได้สร้างขึ้นจากข้อมูลบัตรเครดิต แต่สร้างขึ้นเพื่อสำหรับชำระด้วยวิธีอื่นๆที่ไม่ใช่บัตรเครดิต เช่น Internet Banking, Alipay หรือ Bill Payment เป็นต้น ซึ่งตอนนี้ผมทำให้รองรับการสร้าง Source จาก Source API ของ Omise ได้เรียบร้อยครับ

Read More »omise-react-native 0.0.4 มาแล้วว

วิธีใช้งาน Omise.js ใน Vue.js และ React.js แบบง่ายๆ

เล่าประวัติกันเล็กน้อย เป็นโปรเจคเก่าๆที่ทำไว้เล่นๆ เพราะว่ามีคนถามค่อนข้างเยอะว่าเอ๊ะ ทำไมใช้ Omise.js กับ JavaScript Framework อื่นๆไม่ได้ เช่น Vue.js หรือ React.js เป็นต้น โดยเอาจริงๆแล้วมันใช้งานได้นะครับ 😅 แต่ว่าพักหลังๆ โปรแกรมเมอร์จะติดกับการใช้งานพวก JavaScript Package Manager เช่น npm, yarn หรือ bower… Read More »วิธีใช้งาน Omise.js ใน Vue.js และ React.js แบบง่ายๆ

Expo กับ `OnActivityResult` Event

เมื่อไม่นานมานี้ได้ทดลองเขียน App บนมือถือโดยใช้ Expo ในการพัฒนา ก่อนอื่นก็เกริ่นก่อนว่า Expo จริงๆแล้วก็คือ React-Native นั่นแหละ แต่เพียง Expo เป็น SDK ตัวหนึ่งที่ bundle library ต่างๆที่ทำให้เราไม่จำเป็นต้องไปโหลด dependency อื่นๆ หรือต้องมานั่งเขียน bridge ระหว่างตัว javascript กับ Android… Read More »Expo กับ `OnActivityResult` Event

Docker – อีกหนึ่งชื่อที่เข้ามาในชีวิต

ตอนนี้มีอีกหนึ่ง technology ที่เข้ามาในชีวิตแบบเต็มๆ (แม้ว่าเมื่อก่อนจะเคยใช้แบบผ่านๆ) คือ Docker นั่นเอง จริงๆแล้วจะไม่ใช่แค่ Docker แต่จะมี Kubernetes และ Jenkins ด้วย แต่หลักๆที่ต้องเรียนรู้คือ Docker เนื่องจากการเขียน Deploy code บนเครื่อง Development หรือ Production ก็ดี จำเป็นที่จะต้องเขียน Dockerfile… Read More »Docker – อีกหนึ่งชื่อที่เข้ามาในชีวิต