API MoMo
API MoMo (Ví điện tử MoMo) cung cấp khả năng tích hợp liền mạch giữa các ứng dụng, phần mềm và nền tảng số của khách hàng với các dịch vụ ngân hàng. Với API MoMo, việc kết nối được thực hiện một cách nhanh chóng, đáng tin cậy và đảm bảo giao dịch gần như đồng bộ tức thời.
Giới thiệu
MoMo là một nền tảng ví điện tử do Công ty Cổ phần Dịch vụ Di động Trực tuyến (M_Service) phát triển cho phép người dùng thực hiện các thanh toán, giao dịch trên các thiết bị di động. Bằng việc hợp tác với hơn 90% ngân hàng tại Việt Nam cùng 10.000 thương nhân trong nước, công ty này nắm giữ hơn 80% thị phần trong lĩnh vực thanh toán kỹ thuật số. Tính đến năm 2022, ví điện tử MoMo có hơn 31 triệu người dùng sử dụng.[3]
Logo MoMo
API MoMo tra cứu lịch sử giao dịch theo khoảng thời gian
curl --location --request POST 'https://my.pay2s.vn/userapi/transactions'
--header 'pay2s-token: xxxxxxxxxxxxxxxxxxx'
--header 'Content-Type: application/json'
--data '{
"bankAccounts": "0909999999",
"begin": "01/09/2024",
"end": "15/10/2024"
}'
Trong đó:
- pay2s-token: Bạn sẽ cần lấy Secret Key từ menu Tích hợp > Website/Application trên hệ thống của Pay2S, dùng ngôn ngữ lập trình phù hợp với website, ứng dụng của bạn để mã hóa chuỗi Secret Key thành Base64. Sau đó thay chuỗi Secret Key vừa mã hoá vào chuỗi xxxxxxxxxxxxxxxxxxx của pay2s-token để thêm vào header.
- bankAccounts: “Số điện thoại tài khoản MoMo của bạn đã kết nối trên hệ thống Pay2S”
- begin: “Ngày bắt đầu”
- end: “Ngày kết thúc”
API truy vấn lịch sử giao dịch ví điện tử MoMo
- Bước 1: Liên kết tài khoản vào Pay2S
- Bước 2: Lấy mã tương ứng tại mục Tích hợp > Website/Application
- Partner Code: Định danh duy nhất của tài khoản P2S của bạn
- Access Key: Mã cấp quyền truy cập vào hệ thống Pay2S.
- Secret Key: Dùng để tạo chữ ký điện tử digital signature.
- Bước 3: Cấu hình HTTP request
-
POSThttps://payment.pay2s.vn/v1/gateway/api/create
- Content-Type:
application/json
-
Request parameter
Key | Type | Required | Description |
---|---|---|---|
partnerCode | String | ✓ | Định danh duy nhất cho mỗi yêu cầu. |
partnerName | String | Tên đối tác. | |
requestType | String(50) | ✓ | Định danh kiểu của request. |
ipnUrl | String | ✓ | API nhận kết quả thanh toán của đối tác. |
redirectUrl | String | ✓ | URL chuyển hướng sau khi thanh toán. |
orderId | String | ✓ | Mã đơn hàng của đối tác. |
amount | Long | ✓ | Số tiền cần thanh toán (VND). |
orderInfo | String | ✓ | Thông tin đơn hàng. |
bankAccounts | String | ✓ | Mảng chứa các số tài khoản và Bank Code. |
requestId | String | ✓ | Định danh duy nhất cho mỗi yêu cầu. |
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: 1 chuỗi String được sort theo thứ tự alphabet: accessKey=$accessKey&amount=$amount&accountNumber=$accountNumber&ipnUrl=$ipnUrl&orderId=$orderId&orderInfo=$orderInfo&partnerCode=$partnerCode&redirectUrl=$redirectUrl&requestId=$requestId&requestType=$requestType |
Example value
{
"partnerCode": "PAY2Sxxxxxxxxxxx",
"partnerName": "Pay2S - Giải pháp thanh toán tự động, biến động số dư",
"requestType": "PAY2S",
"ipnUrl": "https://pay2s.vn",
"redirectUrl": "https://pay2s.vn",
"orderId": "P2S1540456",
"amount": 150000,
"orderInfo": "WEB2M Team",
"bankAccounts": [
{
"account_number": "737478888",
"bank_id": "ACB"
},
{
"account_number": "222629219",
"bank_id": "ACB"
}
],
"requestId": "1540456472575",
"signature": "fd37abbee777e13eaa0d0690d184e4d7e2fb43977281ab0e20701721f07a0e07"
}
Code mẫu và demo
- Code mẫu: https://github.com/ThaiDuyKhang/collection-link-pay2s
- Demo: https://docs.pay2s.vn/example-collection-link/
Webhook truy vấn lịch sử giao dịch ví điện tử MoMo (Khuyến nghị)
Sử dụng Webhook giúp xử lý thông tin theo thời gian thực mà không tiêu tốn nhiều tài nguyên.
Việc tích hợp rất đơn giản với PHP, NodeJS hoặc bất kỳ ngôn ngữ lập trình nào khác, chỉ cần khai báo điểm nhận dữ liệu, sau đó hệ thống sẽ tự động nhận phản hồi từ Pay2S và xử lý dữ liệu giao dịch ngay trên nền tảng của bạn.
Các bước tạo và tích hợp webhook
- Bước 1: Hướng dẫn tạo webhook ghi nhận giao dịch từ Pay2S (nếu đã có webhook hãy bỏ qua bước này)
- Bước 2: Hướng dẫn tích hợp webhook Pay2S