Nhảy tới nội dung

Thanh Toán Thông Thường

Luồng xử lý

Sơ đồ hoạt động

Onetime_flow

Diễn giải sơ đồ

  • Bước 1: Khách hàng tiến hành thanh toán bằng cách chọn phương thức thanh toán bằng thẻ quốc tế của MoMo.
  • Bước 2: Hệ thống đối tác khởi tạo đơn hàng với thông tin đơn hàng cùng mã đơn hàng (orderid) duy nhất để yêu cầu phương thức thanh toán phù hợp nhất.
  • Bước 3: Sau khi xác thực thông tin đối tác, MoMo trả về URL thanh toán (payUrl).
  • Bước 4: Thanh toán bằng payUrl được trả về khi người dùng thực hiện trên website đối tác. Đối tác điều hướng người dùng tới website của MoMo thông qua payUrl lấy được từ Bước 3.
  • Bước 5, 6: Khách hàng tiến hành nhập thông tin thẻ thanh toán QT và thanh toán
  • Bước 7: MoMo xử lý thanh toán, sau đó trả về kết quả thanh toán giao dịch, đồng thời điều hướng người dùng về lại web/app của đối tác.
  • Bước 8: ối tác nhận kết quả thanh toán giao dịch, sau đó hiển thị kết quả cho người dùng biết.

Cấu Hình API

HTTP Information

Phương thức thiết lập thanh toán

Tại website của người bán, sau khi người dùng thêm sản phẩm/dịch vụ vào giỏ hàng và lựa chọn thanh toán bằng thẻ quốc tế, hệ thống đối tác sẽ gọi MoMo API để truy xuất URL thanh toán. Sau đó, điều hướng người dùng tới trang thanh toán.

Thông tin API để truy xuất URL thanh toán

HTTP Request

POST /v2/gateway/api/create

HTTP Request
AttributeTypeRequiredDescription
partnerCodeStringThông tin tích hợp
partnerNameStringTên đối tác
storeIdStringMã cửa hàng
requestIdString(50)Định danh duy nhất cho mỗi yêu cầu,
Đối tác sử dụng requestId cho xử lý idempotency
amountLongSố tiền cần thanh toán
Nhỏ Nhất: 1.000 VND
Tối đa: 50.000.000 VND
Tiền tệ: VND
Kiểu dữ liệu: Long
orderIdStringMã đơn hàng của đối tác
orderInfoStringThông tin đơn hàng
userInfoObjectThông tin người dùng. Trong đó email là bắt buộc.
redirectUrlStringMột URL của đối tác. URL này được sử dụng để chuyển trang (redirect) từ MoMo về trang mua hàng của đối tác sau khi khách hàng thanh toán.
Hỗ trợ: AppLink and WebLink
ipnUrlStringAPI của đối tác. Được MoMo sử dụng để gửi kết quả thanh toán theo phương thức IPN (server-to-server)
requestTypeStringpayWithCC
extraDataStringGiá trị mặc định là rỗng""
Encode base64 theo định dạng Json: {"key": "value"}
Ví dụ với dữ liệu: {"username": "momo"}thì data extraData: eyJ1c2VybmFtZSI6ICJtb21vIn0=
autoCaptureBooleanNếu giá trị false, giao dich sẽ không tự động capture, Mặt định là true.
langStringNgôn ngữ của message được trả về (vi hoặc en)
signatureStringHMAC_SHA256accessKey=$accessKey&amount=$amount&extraData=
$extraData&ipnUrl=$ipnUrl&orderId=$orderId&orderInfo=
$orderInfo&partnerCode=$partnerCode&redirectUrl=$redirectUrl
&requestId=$requestId&requestType=$requestType,secretKey)
Chi tiết nội dung của userInfo:
AttributeTypeRequiredDescription
nameStringTên của người dùng
phoneNumberStringSố điện thoại của người dùng
emailStringEmail của người dùng

Redirecting information (redirectUrl)

WebLink:Link để mở website.

AppLink: Link để mở mobile application.

Xem thêm về AppLink

Example request

{
"partnerCode": "MOMO",
"partnerName" : "Test",
"storeId" : "MoMoTestStore",
"requestType": "payWithCC",
"userInfo": {

"email": "email_add@domain.com",
}
"ipnUrl": "http://www.example.com",
"redirectUrl": "http://www.example.com",
"orderId": "6d0a1b10-b382-11e9-8fda-91fa25841420",
"amount": 30000,
"lang": "vi",
"orderInfo": "pay with MoMo Credit card",
"requestId": "6d0a1b11-b382-11e9-8fda-91fa25841420",
"extraData": "eyJlbWFpbCI6ICJleGFtcGxlQGdtYWlsLmNvbSJ9",
"signature": "5344e1f4244173fe0ba2b4c865881aad79b86beff8154b4f74f3b92634ffa711"


}
HTTP Response
AttributeTypeRequiredDescription
partnerCodeStringThông tin tích hợp
requestIdStringGiống với request ban đầu
orderIdStringMã đơn hàng của đối tác
amountLongGiống với số tiền thanh toán ban đầu
responseTimeLongThời gian phản hồi kết quả thanh toán đến đối tác
Định dạng: timestamp
messageStringMô tả lỗi, ngôn ngữ dựa trên lang
resultCodeintResult Code
payUrlStringUURL để chuyển từ trang mua hàng của đối tác sang trang thanh toán của MoMo

:::

Example response

{
"partnerCode": "MOMO",
"requestId": "6d0a1b11-b382-11e9-8fda-91fa25841420",
"orderId": "6d0a1b10-b382-11e9-8fda-91fa25841420",
"amount": 30000,
"responseTime": 14547523457,
"message": "Success",
"resultCode": 0,
"payUrl": "https://test-payment.momo.vn/v2/gateway/pay?t=TU9NT1NKSTEyMDE5MDgyM3wxNjEyODQwNTMyNDI3OjAxMjM0NTY3Nzg="
}

Xử lý kết quả thanh toán

Tìm hiểu thêm về Payment Notification.

Thông tin tham số

Mô tả các tham số được dùng bởi MoMo trong URL redirectUrl và nội dung của body ipnUrl.

AttributeTypeRequiredDescription
partnerCodeStringIntegration Information
orderIdStringMã đơn hàng của đối tác
requestIdStringrequestId của đối tác
amountLongSố tiền thanh toán
orderInfoStringThông tin đơn hàng
partnerUserIdStringĐịnh danh duy nhất của MoMo cho mỗi tài khoản ví MoMo.
orderTypeStringmomo_wallet
transIdLongtransaction ID của MoMo
resultCodeIntegerTrạng thaias giao dịch của hóa đơn Result Code
messageStringMô tả lỗi, ngôn ngữ dựa trên lang
payTypeStringLoại hình thanh toán: credit
responseTimeLongThời gian phản hồi kết quả thanh toán đến đối tác
Format: timestamp
extraDataStringExtra Data. Mặc định: ""
signatureStringChữ ký để xác nhận giao dịch. Sử dụng thuật toán Hmac_SHA256 với data theo định dạng được sort từ a-z :
accessKey=$accessKey&amount=$amount&extraData=$extraData
&message=$message&orderId=$orderId&orderInfo=$orderInfo
&orderType=$orderType&partnerCode=$partnerCode&payType=
$payType&requestId=$requestId&responseTime=
$responseTime&resultCode=$resultCode&transId=$transId

Result Codes & Messages

Vui lòng tìm kiếm result codes và mô tả tương ứng của luồng Thanh toán Thông thường của Thanh toán thẻ Quốc tế trong danh sách result codes tổng hợp ở đây.

Xem thêm