Mua Trước, Trả Sau
Luồng Xử Lý
Cấu Hình API
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
Attribute | Type | Required | Description |
---|---|---|---|
partnerCode | String(20) | Thông tin tích hợp | |
partnerName | String | Tên đối tác | |
requestId | String(50) | Định danh duy nhất cho mỗi yêu cầu Đối tác sử dụng requestId để xử lý idempotency | |
orderId | String | Mã đơn hàng của đối tác | |
requestType | String(20) | payWithInstallmentFlik | |
orderGroupId | Long | OrderGroupId đượ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 | |
amount | Long | Số 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 | |
userInfo | Object | Thông tin người dùng | |
deliveryInfo | Object | Thông tin giao hàng | |
installmentRequest | Object | Nội dung yêu cầu trả góp | |
items | List | Danh 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 | |
lang | String(20) | Ngôn ngữ của message được trả về (vi hoặc en ) | |
signature | String(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
Attribute | Type | Required | Description |
---|---|---|---|
name | String | Tên của người dùng | |
phoneNumber | String | Số điện thoại của người dùng | |
String | Email của người dùng |
Chi tiết nội dung của deliveryInfo
Attribute | Type | Required | Description |
---|---|---|---|
deliveryAddress | String | Địa chỉ giao hàng | |
deliveryFee | Long | Phí giao hàng | |
quantity | Long | Số lượng sản phẩm |
Chi tiết nội dung của installmentRequest
Attribute | Type | Required | Description |
---|---|---|---|
installmentType | String | Loại trả góp.payInOrder : Trả góp cấp orderpayInItem : Trả góp cấp item |
Chi tiết nội dung của items
Attribute | Type | Required | Description |
---|---|---|---|
id | String | Mã sản phẩm. | |
name | String | Tên sản phẩm. | |
description | String | Mô tả sản phẩm. | |
category | String | Phân loại ngành hàng của sản phẩm. | |
currency | String | VND | |
quantity | Integer | Số lượng của sản phẩm. Cần là một số lớn hơn 0 | |
price | Long | Đơn giá sản phẩm | |
totalAmount | Long | price x quantity (Tổng tiền trước khi giảm) | |
purchaseAmount | Long | Tổng tiền sau khi giảm. | |
isInstallment | Boolean | - True : Trả góp - False : Thanh toán ngay Không được null nếu installmentRequest.installmentType = payInItem | |
manufacturer | String | Tên nhà sản xuất. | |
imei | String | Thông số unique cho từng sản phẩm, áp dụng cho các sản phẩm như phone và tivi | |
barCode | String | Mã vạch của sản phẩm. | |
serialNumber | String | Số seri của sản phẩm. | |
imageUrl | String | Link 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
Attribute | Type | Required | Description |
---|---|---|---|
partnerCode | String | Thông tin tích hợp | |
requestId | String | Giống với giá trị ở request | |
orderId | String | Giống với giá trị ở request | |
resultCode | int | Mã lỗi | |
responseTime | Long | Thời gian trả kết quả thanh toán về đối tác Định dạng: timestamp | |
message | String | Mô tả lỗi, ngôn ngữ dựa trên lang | |
installmentResponse | Json Object | Xem chi tiết bên dưới | |
items | List | Danh 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 | |
installmentTerms | List | Danh 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
Attribute | Type | Required | Description |
---|---|---|---|
installmentType | String | Loại trả góp. Giống với giá trị ở request |
Chi tiết nội dung của items
Attribute | Type | Required | Description |
---|---|---|---|
id | String | Mã sản phẩm. | |
installmentTerms | List | Danh 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
Attribute | Type | Required | Description |
---|---|---|---|
installmentTerm | String | Mã của gói trả góp | |
installmentTermName | String | Tên của gói trả góp | |
itemAmount | Long | Giá của sản phẩm | |
interestAmount | Long | Tiễn lãi phải trả. | |
insAmount | Long | Số tiền trả góp | |
principalAmount | Long | Giá gốc của sản phẩm | |
dpPercent | Double | Phần trăm trả trước | |
dpAmount | Long | Số tiền trả trước | |
emi | Long | Tổng tiền mỗi kỳ | |
lastEmi | Long | Số tiền phải trả ở kỳ cuối | |
apr | Double | Lãi suất(%)/năm. | |
tenor | Integer | Tổ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
Attribute | Type | Required | Description |
---|---|---|---|
partnerCode | String(20) | Thông tin tích hợp | |
subPartnerCode | String | Định danh duy nhất của tài khoản M4B của bạn | |
partnerName | String | Tên đối tác | |
storeId | String | Id của hàng | |
requestId | String(50) | Định danh duy nhất cho mỗi yêu cầu Đối tác sử dụng requestId để xử lý idempotency | |
orderId | String | Mã đơn hàng của đối tác Regex: ^[0-9a-zA-Z]([-_.]*[0-9a-zA-Z]+)*$ | |
amount | Long | Số tiền cần thanh toán Nhỏ Nhất: 200.000 VND Tiền tệ: VND Kiểu dữ liệu: Long | |
orderInfo | String(200) | Thông tin đơn hàng | |
orderGroupId | Long | OrderGroupId đượ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 | |
redirectUrl | String(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 | |
ipnUrl | String(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) | |
autoCapture | Boolean | Nế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. | |
extraData | String | Giá 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= | |
requestType | String | payWithInstallmentFlik | |
userInfo | Object | Thông tin người dùng | |
deliveryInfo | Object | Thông tin giao hàng | |
installmentRequest | Object | Nội dung yêu cầu trả góp. | |
items | List | Danh sách sản phẩm | |
lang | String(20) | Ngôn ngữ của message được trả về (vi hoặc en ) | |
signature | String(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
Attribute | Type | Required | Description |
---|---|---|---|
name | String | Tên của người dùng | |
phoneNumber | String | Số điện thoại của người dùng | |
String | Email của người dùng |
Chi tiết nội dung của deliveryInfo
Attribute | Type | Required | Description |
---|---|---|---|
deliveryAddress | String | Địa chỉ giao hàng | |
deliveryFee | Long | Phí giao hàng | |
inStorePickUp | Boolean | - 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 | |
description | String | Mô tả đơn hàng |
Chi tiết nội dung củainstallmentRequest
Attribute | Type | Required | Description |
---|---|---|---|
installmentType | String | Loại trả góp.payInOrder : Trả góp cấp orderpayInItem : Trả góp cấp item | |
installmentTerm | String | - 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
Attribute | Type | Required | Description |
---|---|---|---|
id | String | Mã sản phẩm. | |
name | String | Tên sản phẩm. | |
description | String | Mô tả sản phẩm. | |
category | String | Phân loại ngành hàng của sản phẩm. | |
currency | String | VND | |
quantity | Integer | Số lượng của sản phẩm. Cần là một số lớn hơn 0 | |
price | Long | Đơn giá sản phẩm | |
totalAmount | Long | price x quantity (Tổng tiền trước khi giảm) | |
purchaseAmount | Long | Tổng tiền sau khi giảm. | |
isInstallment | Boolean | - True : Trả góp - False : Thanh toán ngay Không được null nếu installmentRequest.installmentType = payInItem | |
installmentTerm | String | Gói trả góp. Không được null nếu installmentRequest.installmentType = payInItem và isInstallment = 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. | |
manufacturer | String | Tên nhà sản xuất. | |
imei | String | Thông số unique cho từng sản phẩm, áp dụng cho các sản phẩm như phone và tivi | |
barCode | String | Mã vạch của sản phẩm. | |
serialNumber | String | Số seri của sản phẩm. | |
imageUrl | String | Link 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
Attribute | Type | Required | Description |
---|---|---|---|
partnerCode | String | Thông tin tích hợp | |
requestId | String | Giống với yêu cầu ban đầu | |
orderId | String | Mã đơn hàng của đối tác | |
responseTime | Long | Thời gian trả kết quả thanh toán về đối tác Định dạng: timestamp | |
message | String | Mô tả lỗi, ngôn ngữ dựa trên lang | |
resultCode | int | Result Code | |
payUrl | String | URL để chuyển từ trang mua hàng của đối tác sang trang thanh toán của MoMo | |
deeplink | String | URL để 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. | |
qrCodeUrl | String | Dữ 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. | |
deeplinkMiniApp | String | URL 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
.
Attribute | Type | Required | Description |
---|---|---|---|
partnerCode | String | Thông tin tích hợp | |
orderId | String | Mã đơn hàng của đối tác | |
requestId | String | requestId của đối tác | |
amount | Long | Số tiền thanh toán | |
orderInfo | String | Thông tin đơn hàng | |
partnerUserId | String | Định danh duy nhất của MoMo cho mỗi tài khoản ví MoMo | |
orderType | String | momo_wallet | |
transId | Long | Mã giao dịch của MoMo | |
resultCode | Integer | Trạ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 | |
message | String | Mô tả lỗi ngôn ngữ dựa trên lang | |
payType | String | Hình thức thanh toán: webApp , app ,qr hoặc miniapp | |
responseTime | Long | Thời gian trả kết quả thanh toán về đối tác Định dạng:: timestamp | |
extraData | String | Thông tin thêm | |
signature | String | 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&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 secretKey và accessKey, 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.