Nhảy tới nội dung

Mua Trước, Trả Sau

Luồng Xử Lý

BNPL_flow

Cấu Hình API

HTTP Information

Bạn cần có quyền sử dụng payWithInstallmentFlik (yêu cầu quyền sử dụng) để dùng những APIs này.

Lấy Thông Tin Trả Góp

  • Nếu đối tác cung cấp giao diện cho người dùng chọn gói trả góp trên website hoặc app của đối tác, thì việc gọi api này là bắt buộc để lấy thông tin các gói trả góp.
  • Ngược lại nếu đối tác không cung cấp giao diện để người dùng chọn gói trả góp và muốn người dùng chọn gói trả góp trên App MoMo của họ thì đối tác có thể bỏ qua api này và gọi trực tiếp api Initiate Installment Method.

HTTP Request

POST /v2/gateway/api/installment/getInfo

AttributeTypeRequiredDescription
partnerCodeString(20)Thông tin tích hợp
partnerNameStringTên đối tác
requestIdString(50)Định danh duy nhất cho mỗi yêu cầu
Đối tác sử dụng requestId để xử lý idempotency
orderIdStringMã đơn hàng của đối tác
requestTypeString(20)payWithInstallmentFlik
orderGroupIdLongOrderGroupId được MoMo cung cấp để phân nhóm đơn hàng cho các hoạt động vận hành sau này. Vui lòng liên hệ với MoMo để biết chi tiết cách sử dụng
amountLongSố tiền cần thanh toán (Tổng giá trị đơn hàng trả góp phải từ 200.000 VND)
Tiền tệ: VND
Kiểu dữ liệu: Long
userInfoObjectThông tin người dùng
deliveryInfoObjectThông tin giao hàng
installmentRequestObjectNội dung yêu cầu trả góp
itemsListDanh sách các sản phẩm hiển thị trên trang thanh toán.
Tối đa: 30 loại sản phẩm
langString(20)Ngôn ngữ của message được trả về (vi hoặc en)
signatureString(65)Chữ 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&orderId=$orderId
&partnerCode=$partnerCode&requestId=$requestId
&requestType=$requestType

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

Chi tiết nội dung của deliveryInfo

AttributeTypeRequiredDescription
deliveryAddressStringĐịa chỉ giao hàng
deliveryFeeLongPhí giao hàng
quantityLongSố lượng sản phẩm

Chi tiết nội dung của installmentRequest

AttributeTypeRequiredDescription
installmentTypeStringLoại trả góp.
payInOrder : Trả góp cấp order
payInItem : Trả góp cấp item

Chi tiết nội dung của items

AttributeTypeRequiredDescription
idStringMã sản phẩm.
nameStringTên sản phẩm.
descriptionStringMô tả sản phẩm.
categoryStringPhân loại ngành hàng của sản phẩm.
currencyStringVND
quantityIntegerSố lượng của sản phẩm. Cần là một số lớn hơn 0
priceLongĐơn giá sản phẩm
totalAmountLongprice x quantity (Tổng tiền trước khi giảm)
purchaseAmountLongTổng tiền sau khi giảm.
isInstallmentBoolean- True: Trả góp
- False: Thanh toán ngay
Không được null nếu installmentRequest.installmentType = payInItem
manufacturerStringTên nhà sản xuất.
imeiStringThông số unique cho từng sản phẩm, áp dụng cho các sản phẩm như phone và tivi
barCodeStringMã vạch của sản phẩm.
serialNumberStringSố seri của sản phẩm.
imageUrlStringLink chứa hình ảnh của sản phẩm.

Request mẫu

Trả góp cấp Order
{
"partnerCode": "MOMO_PARTNER_A",
"partnerName": "MoMo Developer",
"requestType": "payWithInstallmentFlik",
"requestId": "RE1668668711653",
"amount": "200000",
"deliveryInfo": {
"deliveryAddress": "Phu My Hung Tower",
"deliveryFee": 30000,
"quantity": 2
},
"userInfo": {
"name": "MoMo Developer",
"phoneNumber": "1900 636 652",
"email": "merchant.care@momo.vn"
},
"installmentRequest": {
"installmentType": "payInOrder"
},
"items": [
{
"id": "1655435780SKU_1",
"name": "Iphone 13",
"description": "Iphone 13",
"category": "category iphone",
"price": 200000,
"currency": "VND",
"quantity": 1,
"totalAmount": 200000,
"purchaseAmount": 200000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312"
},
{
"id": "1655435780SKU_2",
"name": "Macbook Pro 13 2018",
"description": "Macbook Pro 13 2018",
"category": "category macbook",
"price": 100000,
"currency": "VND",
"quantity": 1,
"totalAmount": 100000,
"purchaseAmount": 100000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312"
}
],
"lang": "vi",
"signature": "53f6052d9a55b6d92c17c74af81a3c6d8e36a01d9dad064ff50ce569b90eba1c"
}
Trả góp cấp Item
{
"partnerCode": "MOMO_PARTNER_A",
"partnerName": "MoMo Developer",
"requestType": "payWithInstallmentFlik",
"requestId": "RE1668668711653",
"amount": "200000",
"deliveryInfo": {
"deliveryAddress": "Phu My Hung Tower",
"deliveryFee": 30000,
"quantity": 2
},
"userInfo": {
"name": "MoMo Developer",
"phoneNumber": "1900 636 652",
"email": "merchant.care@momo.vn"
},
"installmentRequest": {
"installmentType": "payInItem"
},
"items": [ // phải có ít nhất một item có isInstallment = true
{
"id": "1655435780SKU_1",
"name": "Iphone 13",
"description": "Iphone 13",
"category": "category iphone",
"price": 200000,
"currency": "VND",
"quantity": 1,
"totalAmount": 200000,
"purchaseAmount": 200000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312",
"isInstallment": true // sản phẩm trả góp
},
{
"id": "1655435780SKU_2",
"name": "Macbook Pro 13 2018",
"description": "Macbook Pro 13 2018",
"category": "category macbook",
"price": 100000,
"currency": "VND",
"quantity": 1,
"totalAmount": 100000,
"purchaseAmount": 100000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312",
"isInstallment": false // sản phẩm trả thẳng
}
],
"lang": "vi",
"signature": "53f6052d9a55b6d92c17c74af81a3c6d8e36a01d9dad064ff50ce569b90eba1c"
}

HTTP Response

AttributeTypeRequiredDescription
partnerCodeStringThông tin tích hợp
requestIdStringGiống với giá trị ở request
orderIdStringGiống với giá trị ở request
resultCodeintMã lỗi
responseTimeLongThời gian trả kết quả thanh toán về đối tác
Định dạng: timestamp
messageStringMô tả lỗi, ngôn ngữ dựa trên lang
installmentResponseJson ObjectXem chi tiết bên dưới
itemsListDanh sách sản phẩm và gói trả góp ứng với từng sản phẩm.
MoMo sẽ trả rỗng nếu installmentRequest.installmentType = payInOrder
installmentTermsListDanh sách gói trả góp cấp order.
MoMo sẽ trả rỗng nếu installmentRequest.installmentType = payInItem

Chi tiết nội dung của installmentResponse

AttributeTypeRequiredDescription
installmentTypeStringLoại trả góp. Giống với giá trị ở request

Chi tiết nội dung của items

AttributeTypeRequiredDescription
idStringMã sản phẩm.
installmentTermsListDanh sách các gói trả góp khả dụng ứng với sản phẩm.

Chi tiết nội dung của installmentTerms

AttributeTypeRequiredDescription
installmentTermStringMã của gói trả góp
installmentTermNameStringTên của gói trả góp
itemAmountLongGiá của sản phẩm
interestAmountLongTiễn lãi phải trả.
insAmountLongSố tiền trả góp
principalAmountLongGiá gốc của sản phẩm
dpPercentDoublePhần trăm trả trước
dpAmountLongSố tiền trả trước
emiLongTổng tiền mỗi kỳ
lastEmiLongSố tiền phải trả ở kỳ cuối
aprDoubleLãi suất(%)/năm.
tenorIntegerTổng số kỳ.

Response mẫu

Trả góp cấp Order
{
"partnerCode": "MOMO_PARTNER_A",
"requestId": "RE1668668127798",
"resultCode": 0,
"message": "Giao dịch thành công.",
"responseTime": 1668668434082,
"installmentResponse": {
"installmentType": "payInOrder"
},
"items": [],
"installmentTerms": [
{
"installmentTerm": "payIn30",
"installmentTermName": "Trả góp trong 30 ngày",
"itemAmount": 400000,
"interestAmount": 0,
"insAmount": 400000,
"principalAmount": 400000,
"dpPercent": 0.0,
"dpAmount": 0,
"emi": 400000,
"lastEmi": 400000,
"tenor": 1,
"apr": 0.0
},
{
"installmentTerm": "payIn4",
"installmentTermName": "Trả góp trong 4 kỳ",
"itemAmount": 405016,
"interestAmount": 5016,
"insAmount": 305016,
"principalAmount": 300000,
"dpPercent": 25.0,
"dpAmount": 100000,
"emi": 101672,
"lastEmi": 101672,
"tenor": 3,
"apr": 10.0
},
{
"installmentTerm": "payIn3",
"installmentTermName": "Trả góp trong 3 kỳ",
"itemAmount": 400000,
"interestAmount": 0,
"insAmount": 400000,
"principalAmount": 400000,
"dpPercent": 0.0,
"dpAmount": 0,
"emi": 133334,
"lastEmi": 133332,
"tenor": 3,
"apr": 0.0
}
]
}
Trả góp cấp Item
{
"partnerCode": "MOMO_PARTNER_A",
"requestId": "RE1668668711653",
"resultCode": 0,
"message": "Giao dịch thành công.",
"responseTime": 1668668721659,
"installmentResponse": {
"installmentType": "payInItem"
},
"items": [
{
"id": "1655435780SKU_1",
"installmentTerms": [
{
"installmentTerm": "payIn30",
"installmentTermName": "Trả góp trong 30 ngày",
"itemAmount": 200000,
"interestAmount": 0,
"insAmount": 200000,
"principalAmount": 200000,
"dpPercent": 0.0,
"dpAmount": 0,
"emi": 200000,
"lastEmi": 200000,
"tenor": 1,
"apr": 0.0
},
{
"installmentTerm": "payIn4",
"installmentTermName": "Trả góp trong 4 kỳ",
"itemAmount": 202508,
"interestAmount": 2508,
"insAmount": 152508,
"principalAmount": 150000,
"dpPercent": 25.0,
"dpAmount": 50000,
"emi": 50836,
"lastEmi": 50836,
"tenor": 3,
"apr": 10.0
},
{
"installmentTerm": "payIn3",
"installmentTermName": "Trả góp trong 3 kỳ",
"itemAmount": 200000,
"interestAmount": 0,
"insAmount": 200000,
"principalAmount": 200000,
"dpPercent": 0.0,
"dpAmount": 0,
"emi": 66667,
"lastEmi": 66666,
"tenor": 3,
"apr": 0.0
}
]
},
{
"id": "1655435780SKU_2",
"installmentTerms": [
{
"installmentTerm": "payNow",
"installmentTermName": "Trả thẳng",
"interestAmount": 0,
"insAmount": 0,
"dpAmount": 100000,
"emi": 0,
"tenor": 0,
"apr": 0.0
}
]
}
],
"installmentTerms": []
}

Thiết Lập Phương Thức Trả Góp

HTTP Request

POST /v2/gateway/api/create

AttributeTypeRequiredDescription
partnerCodeString(20)Thông tin tích hợp
subPartnerCodeStringĐịnh danh duy nhất của tài khoản M4B của bạn
partnerNameStringTên đối tác
storeIdStringId 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 để xử lý idempotency
orderIdStringMã đơn hàng của đối tác
Regex: ^[0-9a-zA-Z]([-_.]*[0-9a-zA-Z]+)*$
amountLongSố tiền cần thanh toán
Nhỏ Nhất: 200.000 VND
Tiền tệ: VND
Kiểu dữ liệu: Long
orderInfoString(200)Thông tin đơn hàng
orderGroupIdLongOrderGroupId được MoMo cung cấp để phân nhóm đơn hàng cho các hoạt động vận hành sau này. Vui lòng liên hệ với MoMo để biết chi tiết cách sử dụng
redirectUrlString(200)Mộ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
ipnUrlString(200)API 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)
autoCaptureBooleanNếu giá trị là false, đối tác cần gọi API confirm để thực hiện capture cho việc thanh toán.
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=
requestTypeStringpayWithInstallmentFlik
userInfoObjectThông tin người dùng
deliveryInfoObjectThông tin giao hàng
installmentRequestObjectNội dung yêu cầu trả góp.
itemsListDanh sách sản phẩm
langString(20)Ngôn ngữ của message được trả về (vi hoặc en)
signatureString(65)Chữ ký to confirm information. Secure transaction in Hmac_SHA256  algorithm with format: a String sort all key name of data field from a-z:
accessKey=$accessKey&amount=$amount&extraData=$extraData
&ipnUrl=$ipnUrl&orderId=$orderId&orderInfo=$orderInfo
&partnerCode=$partnerCode&redirectUrl=$redirectUrl
&requestId=$requestId&requestType=$requestType

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

Chi tiết nội dung của deliveryInfo

AttributeTypeRequiredDescription
deliveryAddressStringĐịa chỉ giao hàng
deliveryFeeLongPhí giao hàng
inStorePickUpBoolean- True : Nếu người dùng lấy hàng ở cửa hàng hoặc điểm nhận hàng
- False : Nếu người nhận hàng theo địa chỉ mong muốn
descriptionStringMô tả đơn hàng

Chi tiết nội dung củainstallmentRequest

AttributeTypeRequiredDescription
installmentTypeStringLoại trả góp.
payInOrder : Trả góp cấp order
payInItem : Trả góp cấp item
installmentTermString- Nếu installmentRequest.installmentType = payInOrder và người dùng chọn gói trả góp trên trang của đối tác thì giá trị phải nằm trong:
payIn3 : Trả góp trong 3 kỳ
payIn4 : Trả góp trong 4 kỳ
payIn30 : Trả góp trong 1 tháng
- Nếu installmentRequest.installmentType = payInOrder và người dùng chọn gói trả góp trên App MoMo thì giá trị phải là null.
- Nếu installmentRequest.installmentType = payInItem thì giá trị phải là null.

Chi tiết nội dung của item

AttributeTypeRequiredDescription
idStringMã sản phẩm.
nameStringTên sản phẩm.
descriptionStringMô tả sản phẩm.
categoryStringPhân loại ngành hàng của sản phẩm.
currencyStringVND
quantityIntegerSố lượng của sản phẩm. Cần là một số lớn hơn 0
priceLongĐơn giá sản phẩm
totalAmountLongprice x quantity (Tổng tiền trước khi giảm)
purchaseAmountLongTổng tiền sau khi giảm.
isInstallmentBoolean- True: Trả góp
- False: Thanh toán ngay
Không được null nếu installmentRequest.installmentType = payInItem
installmentTermStringGói trả góp.
Không được null nếu installmentRequest.installmentType = payInItemisInstallment = true.
Không được null nếu chọn gói trả góp trên trang của đối tác, null nếu chọn gói trả góp trên App MoMo.
manufacturerStringTên nhà sản xuất.
imeiStringThông số unique cho từng sản phẩm, áp dụng cho các sản phẩm như phone và tivi
barCodeStringMã vạch của sản phẩm.
serialNumberStringSố seri của sản phẩm.
imageUrlStringLink chứa hình ảnh của sản phẩm.
Request mẫu
Trả góp cấp Order và chọn gói trả góp trên trang của đối tác
{
"partnerCode": "MOMO_PARTNER_A",
"partnerName": "MoMo Developer",
"requestType": "payWithInstallmentFlik",
"requestId": "RE1668668711653",
"orderId": "OD1668668711653",
"orderInfo": "Thanh toán hóa đơn OD1668586204144",
"extraData": "eyJ1c2VybmFtZSI6ICJtb21vIn0=",
"amount": "360000",
"redirectUrl": "https://webhook.site/0853b64e-c86b-4e40-8b35-3ff52fb9d51c",
"ipnUrl": "https://webhook.site/0853b64e-c86b-4e40-8b35-3ff52fb9d51c",
"autoCapture": "false",
"deliveryInfo": {
"deliveryAddress": "123 Nguyen Trai, Phuong 1, Quan 1, Thanh pho Ho Chi Minh",
"deliveryFee": 30000,
"inStorePickUp" : true
"description": "Phi giao hang"
},
"userInfo": {
"name": "MoMo Developer",
"phoneNumber": "1900 636 652",
"email": "merchant.care@momo.vn"
},
"installmentRequest": {
"installmentType": "payInOrder",
"installmentTerm": "payIn4" // không được null
},
"items": [
{
"id": "1655435780SKU_1",
"name": "Iphone 13",
"description": "Iphone 13",
"category": "category iphone",
"price": 100000,
"currency": "VND",
"quantity": 1,
"totalAmount": 100000,
"purchaseAmount": 100000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312"
},
{
"id": "1655435780SKU_2",
"name": "Macbook Pro 13 2018",
"description": "Macbook Pro 13 2018",
"category": "category macbook",
"price": 230000,
"currency": "VND",
"quantity": 1,
"totalAmount": 230000,
"purchaseAmount": 230000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312"
}
],
"lang": "vi",
"signature": "53f6052d9a55b6d92c17c74af81a3c6d8e36a01d9dad064ff50ce569b90eba1c"
}
Trả góp cấp Order và chọn gói trả góp trên App MoMo
{
"partnerCode": "MOMO_PARTNER_A",
"partnerName": "MoMo Developer",
"requestType": "payWithInstallmentFlik",
"requestId": "RE1668668711653",
"orderId": "OD1668668711653",
"orderInfo": "Thanh toán hóa đơn OD1668586204144",
"extraData": "eyJ1c2VybmFtZSI6ICJtb21vIn0=",
"amount": "360000",
"redirectUrl": "https://webhook.site/0853b64e-c86b-4e40-8b35-3ff52fb9d51c",
"ipnUrl": "https://webhook.site/0853b64e-c86b-4e40-8b35-3ff52fb9d51c",
"autoCapture": "false",
"deliveryInfo":{
"deliveryAddress": "123 Nguyen Trai, Phuong 1, Quan 1, Thanh pho Ho Chi Minh",
"deliveryFee": 30000,
"inStorePickUp" : true
"description": "Phi giao hang"
},
"userInfo": {
"name": "MoMo Developer",
"phoneNumber": "1900 636 652",
"email": "merchant.care@momo.vn"
},
"installmentRequest": {
"installmentType": "payInOrder",
// không có trường installmentTerm
},
"items": [
{
"id": "1655435780SKU_1",
"name": "Iphone 13",
"description": "Iphone 13",
"category": "category iphone",
"price": 100000,
"currency": "VND",
"quantity": 1,
"totalAmount": 100000,
"purchaseAmount": 100000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312"
},
{
"id": "1655435780SKU_2",
"name": "Macbook Pro 13 2018",
"description": "Macbook Pro 13 2018",
"category": "category macbook",
"price": 230000,
"currency": "VND",
"quantity": 1,
"totalAmount": 230000,
"purchaseAmount": 230000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312"
}
],
"lang": "vi",
"signature": "53f6052d9a55b6d92c17c74af81a3c6d8e36a01d9dad064ff50ce569b90eba1c"
}
Trả góp cấp Item và chọn gói trả góp trên trang của đối tác
{
"partnerCode": "MOMO_PARTNER_A",
"partnerName": "MoMo Developer",
"requestType": "payWithInstallmentFlik",
"requestId": "RE1668668711653",
"orderId": "OD1668668711653",
"orderInfo": "Thanh toán hóa đơn OD1668586204144",
"extraData": "eyJ1c2VybmFtZSI6ICJtb21vIn0=",
"amount": "360000",
"redirectUrl": "https://webhook.site/0853b64e-c86b-4e40-8b35-3ff52fb9d51c",
"ipnUrl": "https://webhook.site/0853b64e-c86b-4e40-8b35-3ff52fb9d51c",
"autoCapture": "false",
"deliveryInfo":{
"deliveryAddress": "123 Nguyen Trai, Phuong 1, Quan 1, Thanh pho Ho Chi Minh",
"deliveryFee": 30000,
"inStorePickUp" : true
"description": "Phi giao hang"
},
"userInfo": {
"name": "MoMo Developer",
"phoneNumber": "1900 636 652",
"email": "merchant.care@momo.vn"
},
"installmentRequest": {
"installmentType": "payInItem"
},
"items": [ // phải có ít nhất một item có isInstallment = true
{
"id": "1655435780SKU_1",
"name": "Iphone 13",
"description": "Iphone 13",
"category": "category iphone",
"price": 100000,
"currency": "VND",
"quantity": 1,
"totalAmount": 100000,
"purchaseAmount": 100000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312",
"isInstallment": false // sản phẩm trả thẳng, installmentTerm sẽ bị bỏ qua nếu isInstallment = false
},
{
"id": "1655435780SKU_2",
"name": "Macbook Pro 13 2018",
"description": "Macbook Pro 13 2018",
"category": "category macbook",
"price": 230000,
"currency": "VND",
"quantity": 1,
"totalAmount": 230000,
"purchaseAmount": 230000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312",
"isInstallment": true, // sản phẩm trả góp
"installmentTerm": "payIn4" // không được null nếu isInstallment = true
}
],
"lang": "vi",
"signature": "53f6052d9a55b6d92c17c74af81a3c6d8e36a01d9dad064ff50ce569b90eba1c"
}
Trả góp cấp Item và chọn gói trả góp trên App MoMo
{
"partnerCode": "MOMO_PARTNER_A",
"partnerName": "MoMo Developer",
"requestType": "payWithInstallmentFlik",
"requestId": "RE1668668711653",
"orderId": "OD1668668711653",
"orderInfo": "Thanh toán hóa đơn OD1668586204144",
"extraData": "eyJ1c2VybmFtZSI6ICJtb21vIn0=",
"amount": "360000",
"redirectUrl": "https://webhook.site/0853b64e-c86b-4e40-8b35-3ff52fb9d51c",
"ipnUrl": "https://webhook.site/0853b64e-c86b-4e40-8b35-3ff52fb9d51c",
"autoCapture": "false",
"deliveryInfo":{
"deliveryAddress": "123 Nguyen Trai, Phuong 1, Quan 1, Thanh pho Ho Chi Minh",
"deliveryFee": 30000,
"inStorePickUp" : true
"description": "Phi giao hang"
},
"userInfo": {
"name": "MoMo Developer",
"phoneNumber": "1900 636 652",
"email": "merchant.care@momo.vn"
},
"installmentRequest": {
"installmentType": "payInItem"
},
"items": [
{
"id": "1655435780SKU_1",
"name": "Iphone 13",
"description": "Iphone 13",
"category": "category iphone",
"price": 100000,
"currency": "VND",
"quantity": 1,
"totalAmount": 100000,
"purchaseAmount": 100000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312"
},
{
"id": "1655435780SKU_2",
"name": "Macbook Pro 13 2018",
"description": "Macbook Pro 13 2018",
"category": "category macbook",
"price": 230000,
"currency": "VND",
"quantity": 1,
"totalAmount": 230000,
"purchaseAmount": 230000,
"manufacturer": "Apple",
"imei": "IMEI123213",
"serialNumber": "SERIAL12312",
"barCode": "CODE12312"
}
],
"lang": "vi",
"signature": "53f6052d9a55b6d92c17c74af81a3c6d8e36a01d9dad064ff50ce569b90eba1c"
}

HTTP Response

AttributeTypeRequiredDescription
partnerCodeStringThông tin tích hợp
requestIdStringGiống với yêu cầu ban đầu
orderIdStringMã đơn hàng của đối tác
responseTimeLongThời gian trả kết quả thanh toán về đối tác
Định dạng: timestamp
messageStringMô tả lỗi, ngôn ngữ dựa trên lang
resultCodeintResult Code
payUrlStringURL để chuyển từ trang mua hàng của đối tác sang trang thanh toán của MoMo
deeplinkStringURL để mở ứng dụng trực tiếp MoMo (Khách hàng phải cài đặt ứng dụng MoMo trước) và trang xác nhận thanh toán.
qrCodeUrlStringDữ liệu để tạo mã QR nếu bạn muốn khách hàng quét mã QR trực tiếp trên trang mua hàng hoặc in mã lên hoá đơn.
Note: Đây không phải URL chứa hình ảnh của mã QR, bạn cần sử dụng thư viện ngoài để tạo mã QR.
deeplinkMiniAppStringURL mở màn hình xác nhận thanh toán của ứng dụng MoMo. Áp dụng khi đối tác sử dụng mini app nhúng vào trong ứng dụng MoMo.

Trên môi trường production: Bạn cần phải xin quyền để sử dụng những trường qrCodeUrl, deeplink,deeplinkMiniApp.

Response mẫu
{
"partnerCode": "MOMO_PARTNER_A",
"orderId": "OD1663393109660",
"requestId": "RE1663393158323",
"amount": 10000,
"responseTime": 1663393159319,
"message": "Giao dịch thành công.",
"resultCode": 0,
"payUrl": "https://test-payment.momo.vn/v2/gateway/pay?t=TU9NTzJYT04yMDIxMDQyOHxPRDE2NjMzOTMxMDk2NjA=",
"deeplink": "momo://?action=marketing&featureCode=credit_bnpl&orderId=OD1663393109660&refId=credit_bnpl&serviceCode=credit_bnpl",
"qrCodeUrl": "https://test-payment.momo.vn/v2/gateway/app?isScanQr=true&t=TU9NTzJYT04yMDIxMDQyOHxPRDE2NjMzOTMxMDk2NjA=",
"applink": "https://momoappdev.page.link/Fx5GVGSXDtTuxkDs9",
"deeplinkMiniApp": "momo://?action=marketing&featureCode=credit_bnpl&orderId=OD1663393109660&refId=credit_bnpl&serviceCode=credit_bnpl"
}

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
partnerCodeStringThông tin tích hợp
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
transIdLongMã giao dịch của MoMo
resultCodeIntegerTrạng thái giao dịch của đơn hàng Mã Kết Quả
Khi nhận đươc resultCode 9000 thì đối tác phải gọi lại API xác nhận để xác nhận giao dịch
messageStringMô tả lỗi ngôn ngữ dựa trên lang
payTypeStringHình thức thanh toán: webApp, app,qrhoặc miniapp
responseTimeLongThời gian trả kết quả thanh toán về đối tác
Định dạng:: timestamp
extraDataStringThông tin thêm
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

Chữ ký được mã hóa gồm secretKeyaccessKey, vì vậy nên cần bảo mật cao, không tiết lộ trong bất kỳ đoạn chat nào hay các source code, git.

Xem thêm