Site icon บริษัท โค๊ดบี จำกัด

สร้าง QR Code ชำระเงิน ด้วย Kbank Open API ด้วย PHP CURL

&NewLine;<figure class&equals;"wp-block-video"><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><strong>KBANK Open API <&sol;strong>คือ ระบบที่ถูกพัฒนาขึ้นมาเพื่อให้เราสามารถทำธุรกรรมทางการเงินในรูปแบบต่าง ๆ เช่น การชำระเงิน การเติมเงิน การดูรายงานรายการเดินบัญชี กับทางธนาคารกสิกรได้ <&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">ในอดีตการที่เราจะทำธุรกรรมทางการเงินในรูปแบบต่าง ๆ จำเป็นต้องใช้บริการของธนาคารนั้น ๆ เป็นหลัก เช่น จะตรวจสอบ Transactions ยอดเงินในบัญชี รายการโอน ถอน อาจจะต้องเข้าแอพ K Plus หรือเข้า K-Cyber&nbsp&semi; Internet Banking เพื่อดูรายการ รายวัน รายเดือน<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><strong>KBANK Open API <&sol;strong>จะเข้ามาช่วยให้เราสามารถทำสิ่งเหล่านั้นได้ โดยที่ไม่ขึ้นกับซอฟต์แวร์ของธนาคาร เราจะสามารถตรวจสอบยอดเงินในบัญชี รายการเดินบัญชี ผ่าน Mobile Apps หรือ หน้าเว็บไซต์ของเราเอง เราจะสามารถ Generate QR Code สำหรับการชำระเงินขึ้นมาเองได้ เป็นต้น<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><strong>KBANK Open API <&sol;strong>แบ่งเป็น 5 บริการหลัก ๆ คือ<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>QR PAYMENT &lpar; สำหรับสร้าง QR Code ชำระเงิน &rpar;<&sol;li><li>ACCOUNT &sol; CASA &lpar; ตรวจสอบยอดเงิน ธุรกรรมการเงินล่าสุด &rpar;<&sol;li><li>CREDIT CARD API &lpar; ข้อมูลบัตรเครดิต คะแนนสะสม ข้อมูลธุรกรรมบางประเภท &rpar;<&sol;li><li>KBANK OPEN API INFORMATION &lpar; ข้อมูลที่ตั้งตู้ ATM สาขาธนาคาร และอัตราแลกเปลี่ยน &rpar;<&sol;li><li>PAY WITH K&plus; &lpar; เอพีไอ การชำระเงินที่เชื่อมต่อกับแอพ K Plus &rpar;<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">จาก 5 บริการหลัก ตอนนี้ยังเปิดให้ใช้งานระบบเดียว คือ QR PAYMENT เท่านั้นนะครับ<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><strong>วิธีการใช้งาน KBANK QR PAYMENT เบื้องต้น &lpar; Test Mode &rpar;<&sol;strong><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>สมัครสมาชิก Kbank Open API ที่ <a href&equals;"https&colon;&sol;&sol;apiportal&period;kasikornbank&period;com&sol;open-api&sol;register" target&equals;"&lowbar;blank" rel&equals;"noreferrer noopener" aria-label&equals;" &lpar;opens in a new tab&rpar;">https&colon;&sol;&sol;apiportal&period;kasikornbank&period;com&sol;open-api&sol;register<&sol;a><&sol;li><li>เข้าสู่ระบบ เลือก Create New App ติ๊กเลือกที่ QR Payment<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image"><img src&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2019&sol;06&sol;สร้าง-QR-Code-ชำระเงิน-ด้วย-Kbank-Open-API-2&period;jpg" alt&equals;"" class&equals;"wp-image-4725" data-full&equals;"https&colon;&sol;&sol;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2019&sol;06&sol;สร้าง-QR-Code-ชำระเงิน-ด้วย-Kbank-Open-API-2&period;jpg" data-full-size&equals;"800x417" &sol;><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>กรอกข้อมูลให้ครบ กด Create New App ไปที่หน้า Dashbaord<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image"><img src&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2019&sol;06&sol;สร้าง-QR-Code-ชำระเงิน-ด้วย-Kbank-Open-API-3-940x510&period;png" alt&equals;"" class&equals;"wp-image-4732" data-full&equals;"https&colon;&sol;&sol;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2019&sol;06&sol;สร้าง-QR-Code-ชำระเงิน-ด้วย-Kbank-Open-API-3&period;png" data-full-size&equals;"1566x850" &sol;><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>สิ่งที่เราต้องใช้หลัก ๆ จากหน้า Dashboard มีอยู่ 3 อย่างครับ <&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<ol class&equals;"wp-block-list"><li>Merchant Id<&sol;li><li>Partner Id<&sol;li><li>Client Secret<&sol;li><&sol;ol>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>จากนั้นให้สร้าง php ไฟล์สำหรับทดสอบการ Request&sol;Response เขียนโค๊ดส่ง json post data ด้วย curl ดังนี้ครับ<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code>&NewLine;&dollar;ch &equals; curl&lowbar;init&lpar;&rpar;&semi;&NewLine;&dollar;form&lowbar;field &equals; array&lpar;&rpar;&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'partnerTxnUid'&rsqb; &equals; substr&lpar;uniqid&lpar;rand&lpar;&rpar;&comma; true&rpar;&comma; 0&comma; 15&rpar;&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'partnerId'&rsqb; &equals; 'ใส่ Partner ID '&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'partnerSecret'&rsqb; &equals; 'ใส่ Client Secret'&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'requestDt'&rsqb; &equals; '2018-01-03T12&colon;30&colon;00&plus;07&colon;00'&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'merchantId'&rsqb; &equals; 'ใส่ Merchant ID ดูที่ User Info'&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'terminalId'&rsqb; &equals; 'term1'&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'qrType'&rsqb; &equals; '3'&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'txnAmount'&rsqb; &equals; 100&period;50&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'txnCurrencyCode'&rsqb; &equals; 'THB'&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'reference1'&rsqb; &equals; 'INV001'&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'reference2'&rsqb; &equals; NULL&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'reference2'&rsqb; &equals; NULL&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'reference4'&rsqb; &equals; NULL&semi;&NewLine;&dollar;form&lowbar;field&&num;91&semi;'metadata'&rsqb; &equals; 'ปลาร้าสับแพคถุง 100 บาท ยั่ว ๆ จ้าาา'&semi;&NewLine;&dollar;post&lowbar;string &equals; json&lowbar;encode&lpar;&dollar;form&lowbar;field&rpar;&semi; &NewLine;curl&lowbar;setopt&lpar;&dollar;ch&comma; CURLOPT&lowbar;HTTPHEADER&comma; array&lpar; &NewLine;&Tab;'Content-Type&colon; application&sol;json'&comma; &NewLine;&Tab;'Cache-Control&colon;no-cache'&rpar; &NewLine;&rpar;&semi;&NewLine;&NewLine;curl&lowbar;setopt&lpar;&dollar;ch&comma; CURLOPT&lowbar;URL&comma; 'https&colon;&sol;&sol;apiportal&period;kasikornbank&period;com&colon;12002&sol;pos&sol;qr&lowbar;request'&rpar;&semi;&NewLine;curl&lowbar;setopt&lpar;&dollar;ch&comma; CURLOPT&lowbar;CUSTOMREQUEST&comma; "POST"&rpar;&semi; &NewLine;curl&lowbar;setopt&lpar;&dollar;ch&comma; CURLOPT&lowbar;POSTFIELDS&comma; &dollar;post&lowbar;string&rpar;&semi;&NewLine;curl&lowbar;setopt&lpar;&dollar;ch&comma; CURLOPT&lowbar;RETURNTRANSFER&comma; true&rpar;&semi;&NewLine;&NewLine;&dollar;data &equals; curl&lowbar;exec&lpar;&dollar;ch&rpar;&semi;&NewLine;&dollar;response &equals; json&lowbar;decode&lpar;&dollar;data&rpar;&semi;&NewLine;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">partnerTxnUid คือ unique id ที่เราสร้างขึ้นมาเองเพื่อกำกับไว้ในทุก ๆ ครั้งที่เราส่งไปขอ qrCode<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">ทดสอบ Run Script ถ้าข้อมูลที่ส่งไปถูกต้อง เราจะได้ข้อมูลที่ Return กลับมา errorCode เป็น 00 และได้ข้อมูล qrCode กลับมา ข้อมูลส่วนนี้สามารถนำไป generate QR code เพื่อใช้ในการ scan ชำระเงินได้ <&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><strong>ตัวอย่าง Response Code<&sol;strong><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code>&lbrace;&NewLine; "partnerTxnUid"&colon; "QRH001030118001"&comma;&NewLine; "partnerId"&colon; "POS001"&comma;&NewLine; "statusCode"&colon; "00"&comma;&NewLine; "errorCode"&colon; null&comma;&NewLine; "errorDesc"&colon; null&comma;&NewLine; "accountName"&colon; "นายสมชาย รักกสกิ ร"&comma;&NewLine; "qrCode"&colon;&NewLine; "00020101021230690016A000000677010112011301055580807780211LEX110000020313LE&NewLine; X026039306931590016A00000067701011301030040211LEX110000020413LEX02603930695&NewLine; 303764540512&period;815802TH6304A2C1"&NewLine;&rcub;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">แต่การทดสอบของเราเป็นการทดสอบในโหมด sandbox นะครับ ถ้าเราทดสอบโดยการใช้แอพ K&plus; สแกน QR code จะยังไม่สามารถใช้งานได้จริง จนกว่าเราจะลงทะเบียนเปิดร้านจริง ๆ ซึ่งการลงทะเบียน จากวันที่ทดสอบ Kbank Open API เปิดให้ลงทะเบียนเฉพาะนิติบุคคลเท่านั้นครับ<br><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><strong>ขั้นตอนการ Generate QR Code<&sol;strong><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">ดาวน์โหลด QR code generator library ได้ที่ <a href&equals;"https&colon;&sol;&sol;github&period;com&sol;dwisetiyadi&sol;CodeIgniter-PHP-QR-Code">https&colon;&sol;&sol;github&period;com&sol;dwisetiyadi&sol;CodeIgniter-PHP-QR-Code<&sol;a> <&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">สำหรับ codeigniter วาง library ไว้ที่ application&sol;library และเรียกใช้งาน &dollar;this-&gt&semi;load-&gt&semi;library&lpar;&&num;8216&semi;ciqrcode&&num;8217&semi;&rpar;&semi; สำหรับ pure php เรียกใช้งาน include &&num;8216&semi;ciqrcode&period;php&&num;8217&semi;&semi;<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">การใช้งานหลังจากที่ได้ data ที่ response มาจาก open api ให้เรียกใช้งานหลังจากได้รับข้อมูล ตัวอย่างตามโค๊ดด้านล่าง<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code>&dollar;response &equals; json&lowbar;decode&lpar;&dollar;data&rpar;&semi;&NewLine;&dollar;params&&num;91&semi;'data'&rsqb; &equals; &dollar;response->qrCode&semi;&NewLine;&dollar;params&&num;91&semi;'level'&rsqb; &equals; 'H'&semi;&NewLine;&dollar;params&&num;91&semi;'size'&rsqb; &equals; 10&semi;&NewLine;&dollar;params&&num;91&semi;'savename'&rsqb; &equals; &dollar;img &equals; 'qrcode&sol;'&period;&dollar;response->partnerTxnUid&period;'&period;png'&semi;&NewLine;&dollar;this->ciqrcode->generate&lpar;&dollar;params&rpar;&semi;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">ทดสอบการแสดงผลรูป QR Code<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code>echo '&lt&semi;img src&equals;"'&period;&dollar;img&period;'"&sol;>'&semi;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">ผลลัพธ์ที่ได้ ทุก ๆ ครั้ง ที่เราส่ง request ไป จะได้ qr code ตัวใหม่มาเสมอ เราสามารถใช้ partnerTxnUid ในการตั้งชื่อรูปเพื่อที่จะระบุได้ว่า qr code ตัวนี้เป็นการ request ครั้งที่เท่าไหร่<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image"><img src&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2019&sol;06&sol;Screen-Shot-2562-06-27-at-10&period;19&period;04-940x363&period;png" alt&equals;"" class&equals;"wp-image-4749" data-full&equals;"https&colon;&sol;&sol;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2019&sol;06&sol;Screen-Shot-2562-06-27-at-10&period;19&period;04&period;png" data-full-size&equals;"1234x476" &sol;><&sol;figure>&NewLine;

Exit mobile version