Nhảy tới nội dung

3.3.1 Khởi tạo yêu cầu thanh toán tự động

REST API

Lưu ý

API này chỉ sử dụng cho đối tác đăng ký sử dụng tính năng thanh toán tự động.

Thông tin chung

  • API khởi tạo giao dịch được gọi từ server của Đối tác để thiết lập một giao dịch đăng ký/hủy/chỉnh sửa thanh toán tự động mới để người dùng có thể thực hiện thanh toán trên MB App.

Đặc tả

Endpoint

    POST /api/merchant/v2/auto-debit
    Content-Type: application/json
MERCHANT_CODE: Mã đối tác
MERCHANT_SECRET: Khóa bí mật của Đối tác

Dữ liệu truyền lên

Tham sốMô tả
sessionIdBẮT BUỘC. Mã phiên đăng nhập (Được trả về từ API xác minh token)
Trường này được thêm vào bản update ngày 23/03/2022 và sẽ được hỗ trợ KHÔNG bắt buộc đến hết ngày 01/04/2022
cifBẮT BUỘC. Kiểu String, tối đa 45 ký tự. Mã khách hàng tại MB
requestTypeBẮT BUỘC. Loại yêu cầu, truyền một trong bốn loại
REGISTER: đăng ký
REGISTER_AND_FIRST_PAYMENT: đăng ký kèm thanh toán lần đầu
UPDATE: chỉnh sửa thông tin thanh toán tự động
CANCEL: hủy thanh toán tự động
autoDebitIdKHÔNG bắt buộc. Kiểu Long. Mã đăng ký thanh toán tự động.
Bắt buộc khi truyền requestType = UPDATE hoặc requestType = CANCEL
amountKHÔNG bắt buộc. Kiểu Long. Số tiền thực hiện giao dịch
Yêu cầu: 0 ≤ amount < 10 tỉ VND
descriptionKHÔNG bắt buộc. Kiểu String, tối đa 48 ký tự. Nội dung giao dịch. Bắt buộc truyền khi requestType = REGISTER, REGISTER_AND_FIRST_PAYMENT
firstPaymentAmountKHÔNG bắt buộc. Kiểu Long. Số tiền thanh toán lần đầu.Bắt buộc truyền khi requestType = REGISTER_AND_FIRST_PAYMENT.
Yêu cầu: 0 ≤ amount < 10 tỉ VND
firstPaymentDescriptionKHÔNG bắt buộc. Kiểu String, tối đa 48 ký tự. Nội dung giao dịch lần đầu. Bắt buộc khi requestType = REGISTER_AND_FIRST_PAYMENT
frequencyUnitKHÔNG bắt buộc. Kiểu String, tần suất thanh toán. Không bắt buộc với Merchant có cấu hình autodebitType = BILLING_RECEIVE_BILLS.
Truyền một trong các giá trị DAY, WEEK, MONTH, YEAR
dayOfAutoDebitKHÔNG bắt buộc. Kiểu String, thời gian thực hiện autodebit.
Trong trường hợp frequencyUnit = DAY, để null.
Trong trường hợp frequencyUnit = WEEK nhận các giá trị nhận giá trị MON, TUE, WED, THU, FRI, SAT, SUN
Trong trường hợp frequencyUnit = MONTH nhận một giá trị từ 1->28
Trong trường hợp frequencyUnit = YEAR nhận giá trị theo format: DD/MM .Ví dụ 28/12
contractCodeKHÔNG bắt buộc. Kiểu String, tối đa 50 ký tự. Mã hợp đồng đăng kí autodebit. Bắt buộc truyền khi requestType = REGISTER, REGISTER_AND_FIRST_PAYMENT
paymentTransactionTypeKHÔNG bắt buộc. Kiểu String. Mã loại giao dịch. Bắt buộc truyền khi requestType = REGISTER, REGISTER_AND_FIRST_PAYMENT
successMessageKHÔNG bắt buộc. Kiểu String, tối đa 500 ký tự. Thông báo khi khách hàng thanh toán thành công
Nếu không truyền tham số này, hệ thống sẽ sử dụng thông báo mặc định của hệ thống.
metadataKHÔNG bắt buộc. Kiểu String, tối đa 500 ký tự. Chuỗi dữ liệu bất kỳ chưa dữ liệu bổ sung cho giao dịch và sẽ được trả về cho Đối tác khi truy vấn thông tin giao dịch hoặc khi thông báo giao dịch thành công

Dữ liệu trả về

Tham sốMô tả
autoDebitIdKiểu String, tối đa 30 ký tự. ID bản ghi đăng kí
merchant.codeKiểu String, tối đa 100 ký tự. Mã đối tác
merchant.nameKiểu String, tối đa 256 ký tự. Tên đối tác
cifKiểu String, tối đa 45 ký tự. Mã khách hàng MB
amountKiểu Long. Số tiền thực hiện giao dịch
descriptionKiểu String, tối đa 48 ký tự. Nội dung giao dịch
scheduledPatternKiểu String, tối đa 50 ký tự. Chuỗi cron exprestion được ghép từ Thời gian và Tần suất autodebit
requestTypeKiểu String, tối đa 50 ký tự. Loại yêu cầu REGISTER, REGISTER_AND_FIRST_PAYMENT, UPDATE, CANCEL
paymentTransactionType.codeKiểu String, tối đa 100 ký tự. Mã loại giao dịch
paymentTransactionType.nameKiểu String, tối đa 256 ký tự. Tên loại giao dịch
paymentTransactionType.allowCardKiểu Boolean. Cho phép thanh toán bằng thẻ hay không
true: Có cho phép
false: Không cho phép
successMessageKiểu String, tối đa 2000 ký tự. Thông báo khi thanh toán thành công
contractCodeKiểu String, tối đa 2000 ký tự. Mã hợp đồng
autodebitStatusKiểu String, tối đa 50 ký tự. Trạng thái của autodebit; bao gồm:
REGISTER_PENDING: Đang chờ xác nhận đăng ký
UPDATE_PENDING: Đang chờ xác nhận Update
CANCEL_PENDING: Đang chờ xác nhận Hủy
billerCustomerIdKiểu String, tối đa 100 ký tự. Trả về chuỗi merchantCode + contractCode
billerCustomerCodeKiểu String, tối đa 100 ký tự. Trả về chuỗi merchantCode + contractCode
requestIdKiểu String, tối đa 100 ký tự. Trả về id của request
autoDebitTypeKiểu String, tối đa 100 ký tự. Loại giao dịch autodebit
TOPUP: Thanh toán cố định
BILLING_RECEIVE_BILLS: Thanh toán với số tiền ko cố định (hàng kỳ nhận list bill từ đối tác để hạch toán)
BILLING_GET_BILLS: Thanh toán với số tiền ko cố định (hàng kỳ quét list bill của đối tác để hạch toán)
retryDayKiểu int. Số ngày retry
recordIdKiểu String, tối đa 50 ký tự. ID bản ghi autodebit trong hệ thống của Thu chi hộ( Chỉ tra ra nếu type là Chỉnh sửa hoặc Hủy)
metadataKiểu String, tối đa 500 ký tự. Chuỗi dữ liệu bổ sung thông tin cho giao dịch được Đối tác truyền vào khi khởi tạo giao dịch
createdTimeKiểu Date. Thời điểm tạo giao dịch
Theo định dạng yyyy-MM-dd'T'HH:mm:ss (ISO 8601)
payment.firstPaymentAmountKiểu Long. Số tiền thanh toán lần đầu
payment.firstPaymentDescriptionKiểu String, tối đa 48 ký tự. Mô tả cho giao dịch thanh toán lần đầu
payment.paymentTransactionStatusKiểu String, tối đa 45 ký tự. Trạng thái của thanh toán lần đầu nếu kèm:
PENDING: chờ xác nhận thanh toán

Thử nghiệm

Tham khảo