Chuyển tới nội dung chính

Thông báo IPN

GLODIPAY cung cấp kết quả thanh toán theo thời gian thực tới máy chủ của bạn thông qua Thông báo thanh toán tức thì (Instant Payment Notification - IPN) — một yêu cầu HTTP POST tới notificationUrl mà bạn đã cung cấp khi tạo giao dịch.

Phương thức: POST
Content-Type: application/json

Chính sách gửi lại (Retry policy): Nếu máy chủ của bạn không phản hồi với {"returnCode":"100"} trong vòng 30 giây, GLODIPAY sẽ thực hiện gửi lại. Trình xử lý của bạn nên có tính lũy đẳng (idempotent) — cùng một thông báo có thể được gửi nhiều hơn một lần.

Điều gì kích hoạt IPN: Bất kỳ sự chuyển đổi nào sang trạng thái cuối cùng hoặc trạng thái quan trọng: successful, failed, error, refund_successful, refund_failed, void_successful, v.v.


Các trường Payload

TrườngLoạiBắt buộcMô tả
merchantIdStringMID của người bán
transactionIdStringMID giao dịch của GLODIPAY (ULID)
transactionNumberStringMSố giao dịch dễ hiểu của GLODIPAY
refStringMorderRef của người bán
currencyStringMMã tiền tệ ISO 4217
amountFloatMSố tiền hóa đơn
paidAmountFloatOSố tiền thực tế đã thu từ người mua (bao gồm cả phí người mua)
settlementAmountFloatOSố tiền sẽ được thanh quyết toán cho người bán
estimationSettlementAtISO 8601 datetimeOThời gian thanh quyết toán dự kiến
feesJSONOPhân tách các loại phí. Xem đối tượng fees bên dưới
statusStringMTrạng thái giao dịch. Xem Giá trị trạng thái
statusCodeNumberMMã trạng thái số. Xem Mã trạng thái
metadataJSONOCác cặp khóa-giá trị từ phiên thanh toán ban đầu
transactionDocumentsJSONOCác tài liệu hỗ trợ từ phiên làm việc ban đầu
paymentMethodDetailsJSONOPhương thức thanh toán đã sử dụng. Xem đối tượng paymentMethodDetails bên dưới
messageStringOThông báo trạng thái dễ hiểu
descriptorStringOMô tả giao dịch (descriptor)
transactionCreatedAtISO 8601 datetimeMThời gian tạo giao dịch trong hệ thống GLODIPAY
originalTransactionCreatedAtISO 8601 datetimeMThời gian tạo giao dịch tại PSP
signatureStringMChữ ký RSA-MD5 — xác minh bằng khóa công khai của GLODIPAY. Xem Chữ ký

Đối tượng fees

TrườngLoạiMô tả
buyerFloatSố phí mà người mua phải trả
sellerFloatSố phí mà người bán phải trả
rollingFloatSố tiền ký quỹ (rolling reserve)
operateFloatTổng phí vận hành (processor + GLODIPAY + đối tác)
estimationRollingReleaseAtISO 8601 datetimeThời gian dự kiến giải tỏa tiền ký quỹ

Đối tượng paymentMethodDetails

TrườngLoạiMô tả
displayNameStringNhãn phương thức thanh toán hiển thị cho người mua
groupStringLoại nhóm phương thức thanh toán
familyStringLoại họ phương thức thanh toán
typeStringLoại phương thức thanh toán (ví dụ: card, wallet)
{type}JSONTùy chọn. Chi tiết cụ thể của phương thức thanh toán. Khóa bằng với giá trị type. Hiện tại chỉ có cho thanh toán thẻ khi có sẵn chi tiết thẻ. Xem đối tượng card bên dưới

Đối tượng card (paymentMethodDetails.card)

TrườngMô tả
nameTên chủ thẻ
firstSixDigits6 chữ số đầu tiên của số thẻ (BIN)
lastFourDigits4 chữ số cuối cùng của số thẻ
expiryMonthTháng hết hạn (MM)
expiryYearNăm hết hạn (YY)
typeThương hiệu thẻ (visa, mastercard, amex, jcb, v.v.)
issuerTên ngân hàng phát hành (tùy thuộc vào nhà cung cấp)
issuerCountryCodeMã quốc gia ISO 3166-1 alpha-2 của ngân hàng phát hành (tùy thuộc vào nhà cung cấp)
fundingLoại nguồn tiền của thẻ: credit, debit, hoặc prepaid (tùy thuộc vào nhà cung cấp)
authorizationCodeMã ủy quyền từ ngân hàng phát hành (tùy thuộc vào nhà cung cấp)
clientIPĐịa chỉ IP của khách hàng tại thời điểm thanh toán (tùy thuộc vào nhà cung cấp)
checksĐối tượng kết quả xác minh AVS/CVC (tùy thuộc vào nhà cung cấp)
threeDSecureĐối tượng chi tiết xác thực 3D Secure (tùy thuộc vào nhà cung cấp)

Các trường trong đối tượng checks (nếu có):

TrườngMô tả
addressLine1CheckKết quả kiểm tra dòng địa chỉ 1 của AVS
addressPostalCodeCheckKết quả kiểm tra mã bưu điện của AVS
cvcCheckKết quả kiểm tra CVC/CVV

Các trường trong đối tượng threeDSecure (nếu có):

TrườngMô tả
authFlowLuồng xác thực đã sử dụng
eciChỉ số thương mại điện tử (Electronic Commerce Indicator)
resultKết quả xác thực 3DS
versionPhiên bản giao thức 3DS

Ví dụ Payload IPN (Thanh toán thẻ thành công)

{
"merchantId": "1100000123",
"transactionId": "01jza90dy6w82dfrrqvadn5vs4",
"transactionNumber": "2604-1713100800",
"ref": "ORDER-001",
"currency": "USD",
"amount": 100.00,
"paidAmount": 105.00,
"settlementAmount": 95.00,
"estimationSettlementAt": "2026-04-16T00:00:00+00:00",
"fees": {
"buyer": 5.00,
"seller": 5.00,
"rolling": 2.00,
"operate": 3.00,
"estimationRollingReleaseAt": "2026-05-14T00:00:00+00:00"
},
"status": "successful",
"statusCode": 6,
"paymentMethodDetails": {
"displayName": "Credit / Debit Card",
"group": "card",
"family": "card",
"type": "card",
"card": {
"name": "John Doe",
"firstSixDigits": "411111",
"lastFourDigits": "1111",
"expiryMonth": "01",
"expiryYear": "30",
"type": "visa",
"issuer": "Example Bank",
"issuerCountryCode": "US",
"funding": "credit",
"authorizationCode": "ABC123"
}
},
"metadata": { "orderId": "12345" },
"message": null,
"descriptor": "GLODIPAY*ORDER-001",
"transactionCreatedAt": "2026-04-14T10:00:00+00:00",
"originalTransactionCreatedAt": "2026-04-14T10:00:01+00:00",
"signature": "base64-encoded-rsa-signature"
}

Phản hồi xác nhận

Máy chủ của bạn phải phản hồi với JSON sau đây trong vòng 30 giây. Bất kỳ phản hồi nào khác hoặc quá thời gian chờ đều được coi là gửi không thành công và GLODIPAY sẽ thực hiện gửi lại.

{
"returnCode": "100",
"description": "Received"
}
TrườngLoạiBắt buộcMô tả
returnCodeStringMPhải là "100" để xác nhận đã nhận thành công
descriptionString(max:1500)OMô tả tùy chọn

Refund IPN

Thông báo hoàn tiền sử dụng cùng một notificationUrl như giao dịch gốc. Định dạng payload sẽ khác — xem Refund API để biết các trường payload IPN cụ thể cho việc hoàn tiền.

Bookmarks

No bookmarks yet.
Hover over a heading and click to save a section.