Cổng thanh toán GMO là gì? Cách sử dụng API của GMO

GMO là cái tên khá xa lạ với đại đa số người Việt nhưng bạn có biết cổng thanh toán GMO được xem là cổng dịch vụ thanh toán số 1 của xứ sở mặt trời mọc hay không? Cùng chúng tôi tìm hiểu rõ hơn về GMO nhé. 

GMO là gì?

GMO (GMO Payment Gateway, Inc.) là cổng dịch vụ thanh toán số 1 của Nhật hỗ trợ nhiều hình thức thanh toán khác nhau: Credit Card, LINE Pay, PayPal, FamiPay, Google Pay, Apple Pay…

Website: https://www.gmo-pg.com/en_w/

Cổng thanh toán GMO là gì? Cách sử dụng API của GMO 1

Và quan trọng nhất là nó cung cấp hỗ trợ cho lập trình viên các API và môi trường test để tích hợp vào ứng dụng. Có ít thông tin và hầu hết bằng tiếng Nhật nên tương đối khó cho mọi người. Tuy nhiên bài viết sau đây sẽ hướng dẫn cho bạn đọc các bước bắt đầu như thế nào để cho những người lần đầu làm việc với nó cũng cảm thấy dễ dàng. 

Cơ chế làm việc của cổng thanh toán GMO

Cơ chế làm việc của GMO về cơ bản sẽ như sau:

Cổng thanh toán GMO là gì? Cách sử dụng API của GMO 2

– EndUser gửi yêu cầu mua 1 service đến web của merchant -> Web merchant gửi yêu cầu đến PaymentGMO thông qua API của GMO

– PaymentGMO gửi yêu cầu xác nhận thông tin giao dịch đến ngân hàng

– Ngân hàng xác nhận thông tin giao dịch. Nếu hợp lệ thì sẽ tiến hành chuyển tiền đến tài khoản merchant và trả thông tin về cho Payment GMO

– Payment GMO trả kết quả về cho web Merchant

– Web merchant trả kết quả về cho endUser

– Merchant: Là cá nhân hoặc công ty bán sản phẩm hoặc dịch vụ, là nơi cung cấp các dịch vụ đến người dùng, ở đây là web của chúng ta.

– Credit Card: thẻ tín dụng được sử dụng để mua sản phẩm hoặc dịch vụ thông qua tài khoản tín dụng. Thẻ này có số thẻ gồm 16 số.

– Pay-Easy: là hình thức đăng ký mua sản phẩm rồi tiến hành trả tiền qua các ATM, Internet Banking, …

– Convenience-store: là hình thức đăng ký mua sản phẩm rồi tiến hành trả tiền qua các Convenience store

– Transaction – Giao dịch: là thực hiện 1 là thanh toán, kết thúc quá trình nếu thành công thì merchant nhận được tiền, endUser nhận được service

– Site: Là một trang quản lý các shop và member

– Shop là nơi quản lý các transaction

– OrderID: Là giá trị để merchant nhận biết về giao dịch, là duy nhất

– ShopID, ShopPass, SiteID, SitePass là các giá trị do GMO cung cấp khi đăng kí.

– AccessID, AccessPass là các giá trị được GMO trả về khi thực hiện 1 entry Transaction.

Vẫn còn nhiều khái niệm mà khi thực hiện implement GMO thì bạn sẽ phải tìm hiểu nhé.

Hướng dẫn cách đăng kí môi trường test

Đây là các step mà nó bảo mình làm theo:

Cổng thanh toán GMO là gì? Cách sử dụng API của GMO 3 Cổng thanh toán GMO là gì? Cách sử dụng API của GMO 4

Nhưng để bắt đầu làm việc với GMO API, thì bạn chỉ cần phải đăng ký một tài khoản test trên website của gmo rồi tìm hiểu qua các thuật ngữ của nó.

>>> Vào đây để tạo một tài khoản test: https://service.gmo-pg.com/cyllene/entry/trialStart.htm sau khi điền đủ các thông tin nó sẽ gởi cho bạn 1 email confirm, sau khi confirm bạn sẽ có 1 tài khoản như thế này: 

Cổng thanh toán GMO là gì? Cách sử dụng API của GMO 5

Trong đó có 2 link site và shop, và các id và password tương ứng, mình sẽ nói cách sử dụng sau. 

Tiếp theo các bạn vào xem nó có gì. Đây là 1 trang bằng tiếng Nhật nên bạn dịch và tìm hiểu để biết. Các bạn có thể tạo bằng tay các Transaction, xem các params và status của nó như thế nào. Ở đây mình tạo 1 Transaction với phương thức thanh toán là pay-easy.

Cổng thanh toán GMO là gì? Cách sử dụng API của GMO 6

Sau khi điền đủ các thông tin hợp lệ, chúng ta search sẽ thấy 1 transaction được tạo ra với status là Request Success.

Cách sử dụng API của Payment Gateway GMO

Với mỗi phương thức thanh toán khác nhau, GMO sẽ cung cấp cho chúng ta các API khác nhau, và các params truyền lên cho GMO cũng khác nhau. Mình sẽ sử dụng postman để call API GMO với phương thức thanh toán là pay-easy.

Cổng thanh toán GMO là gì? Cách sử dụng API của GMO 7

Bạn sẽ điền đầy đủ các params như trên, với OrderId là do bạn tự định nghĩa và nó phải là duy nhất, amount là số tiền mà enduser phải trả cho order đó. Sau khi thực hiện entry transaction thành công, GMO sẽ trả cho bạn 1 Access ID và Access Pass để tiếp tục thực hiện một exec Transaction. 

Sau khi thực hiện một exec Transaction thành công thì chúng ta sẽ nhận được kết quả như trên, chúng ta kiểm tra kết quả trên trang site:  

Cổng thanh toán GMO là gì? Cách sử dụng API của GMO 8

Và chúng ta show cho enduser các thông tin về các customerID, due date … để người dùng đi thanh toán. Sau khi người dung thanh toán order đó thì status của sẽ được cập nhật lại PAY SUCCESS, và GMO sẽ notification đến một link mà chúng ta settings trước đó. Trên trang shop có một chức năng demo người dùng thanh toán thành công và khi đó các params mà GMO sẽ trả về kiểu như sau:

“ShopID”=>”tshop00028975”,
“ShopPass”=>”**********”,
“AccessID”=>”9079e874562cf086d8925fe93c9f2de6”,
“AccessPass”=>”********************************”,
“OrderID”=>”107”,
“Status”=>”PAYSUCCESS”,
“JobCd”=>””,
“Amount”=>”200”,
“Tax”=>”0”,
“Currency”=>”JPN”,
“Forward”=>””,
“Method”=>””,
“PayTimes”=>””,
“TranID”=>”17080900000003174295”,
“Approve”=>””,
“TranDate”=>”20170809110540”,
“ErrCode”=>””,
“ErrInfo”=>””,
“PayType”=>”4”,
“CvsCode”=>””,
“CvsConfNo”=>””,
“CvsReceiptNo”=>””,
“EdyReceiptNo”=>””,
“EdyOrderNo”=>””,
“SuicaReceiptNo”=>””,
“SuicaOrderNo”=>””,
“CustID”=>”WNT44277314”,
“BkCode”=>”58021”,
“ConfNo”=>”3769”,
“PaymentTerm”=>”20170819235959”,
“EncryptReceiptNo”=>”LB7OigJvPDmbWxAqB8OY”,
“FinishDate”=>”20170809110540”,
“ReceiptDate”=>”20170809110400″,”ShopID”=>”tshop00028975”,
“ShopPass”=>”**********”,
“AccessID”=>”9079e874562cf086d8925fe93c9f2de6”,
“AccessPass”=>”********************************”,
“OrderID”=>”107”,
“Status”=>”PAYSUCCESS”,
“JobCd”=>””,
“Amount”=>”200”,
“Tax”=>”0”,
“Currency”=>”JPN”,
“Forward”=>””,
“Method”=>””,
“PayTimes”=>””,
“TranID”=>”17080900000003174295”,
“Approve”=>””,
“TranDate”=>”20170809110540”,
“ErrCode”=>””,
“ErrInfo”=>””,
“PayType”=>”4”,
“CvsCode”=>””,
“CvsConfNo”=>””,
“CvsReceiptNo”=>””,
“EdyReceiptNo”=>””,
“EdyOrderNo”=>””,
“SuicaReceiptNo”=>””,
“SuicaOrderNo”=>””,
“CustID”=>”WNT44277314”,
“BkCode”=>”58021”,
“ConfNo”=>”3769”,
“PaymentTerm”=>”20170819235959”,
“EncryptReceiptNo”=>”LB7OigJvPDmbWxAqB8OY”,
“FinishDate”=>”20170809110540”,
“ReceiptDate”=>”20170809110400”,
…………..

Bạn sẽ quan tâm đến OrderID và Status để cập nhật lại database sao cho tương ứng. Có một số chức năng trên môi trường test của GMO không có, ví dụ như tự động cập nhật status khi hết hạn, hay với chức năng Recurring Payment nên sẽ hơi khó để test các chức năng đó.

Nếu bạn làm việc với project Ruby On Rails thì mình giới thiệu cho bạn 1 gem hỗ trợ implement các chức năng payment nhanh hơn chính là https://github.com/t-k/gmo-payment-ruby

Phần kết: Trên đây là những thông tin về cổng thanh toán GMO, cụ thể là cơ chế hoạt động, cách đăng ký môi trường test và cách sử dụng API của GMO. Hi vọng chúng sẽ giúp bạn làm quen với GMO một cách dễ dàng nhất. Chúc thành công!

Nguồn bài tham khảo thêm: Viblo.asia

LEAVE A REPLY

Please enter your comment!
Please enter your name here