{"openapi":"3.0.0","paths":{"/v1/auth/token":{"post":{"operationId":"auth-token","summary":"Lấy token xác thực","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthTokenReq"}}}},"responses":{"201":{"description":""},"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"}},"tags":["Xác thực"]}},"/v1/banks":{"get":{"operationId":"find-banks","summary":"Lấy danh sách ngân hàng","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}},{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"number"}},{"name":"size","required":false,"in":"query","description":"Số lượng bản ghi trên mỗi trang","schema":{"default":20,"type":"number"}}],"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/FindAllBanksRes"}}}]}}}}},"tags":["Ngân hàng"],"security":[{"bearer":[]}]}},"/v1/banks/account-name":{"get":{"operationId":"check-account-name","summary":"Kiểm tra tên chủ tài khoản","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}},{"name":"bankCode","required":true,"in":"query","schema":{"type":"string"}},{"name":"accountNumber","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/CheckAccNameRes"}}}]}}}}},"tags":["Ngân hàng"],"security":[{"bearer":[]}]}},"/v1/banks/{id}/branches":{"get":{"operationId":"find-banks-with-branches","summary":"Lấy danh sách ngân hàng với chi nhánh","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/FindAllBanksWithBranchesRes"}}}]}}}}},"tags":["Ngân hàng"],"security":[{"bearer":[]}]}},"/v1/payment-order-batches":{"post":{"operationId":"create-one-payment-order-batch","summary":"Tạo lô lệnh chi","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOnePobReq"}}}},"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/CreateOnePobRes"}}}]}}}}},"tags":["Lô lệnh chi"],"security":[{"bearer":[]}]}},"/v1/payment-order-batches/{id}":{"get":{"operationId":"find-one-payment-order-batch","summary":"Truy vấn lô lệnh chi","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}},{"name":"refId","required":true,"in":"query","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/FindOnePobRes"}}}]}}}}},"tags":["Lô lệnh chi"],"security":[{"bearer":[]}]}},"/v1/payment-order-batches/{id}/confirm":{"post":{"operationId":"confirm-payment-order-batch","summary":"Duyệt lô lệnh chi","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmPobReq"}}}},"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/ConfirmPobRes"}}}]}}}}},"tags":["Lô lệnh chi"],"security":[{"bearer":[]}]}},"/v1/sofs":{"get":{"operationId":"find-sofs","summary":"Lấy danh sách nguồn tiền","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}},{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"number"}},{"name":"size","required":false,"in":"query","description":"Số lượng bản ghi trên mỗi trang","schema":{"default":20,"type":"number"}}],"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/FindSofsRes"}}}]}}}}},"tags":["Nguồn tiền"],"security":[{"bearer":[]}]},"post":{"operationId":"create-one-sof","summary":"Tạo nguồn tiền","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOneSofReq"}}}},"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/SofDto"}}}]}}}}},"tags":["Nguồn tiền"],"security":[{"bearer":[]}]}},"/v1/sofs/{id}":{"get":{"operationId":"find-one-sof","summary":"Truy vấn nguồn tiền","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/SofDto"}}}]}}}}},"tags":["Nguồn tiền"],"security":[{"bearer":[]}]}},"/v1/webhooks":{"post":{"operationId":"create-one-webhook","summary":"Tạo webhook","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOneWebhookReq"}}}},"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/FindOneWebhookRes"}}}]}}}}},"tags":["Webhooks"],"security":[{"bearer":[]}]},"get":{"operationId":"find-webhooks","summary":"Lấy danh sách webhook","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/FindWebhooksRes"}}}]}}}}},"tags":["Webhooks"],"security":[{"bearer":[]}]}},"/v1/webhooks/{id}":{"get":{"operationId":"find-one-webhook","summary":"Truy vấn webhook","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/FindOneWebhookRes"}}}]}}}}},"tags":["Webhooks"],"security":[{"bearer":[]}]},"put":{"operationId":"update-one-webhook","summary":"Chỉnh sửa webhook","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOneWebhookReq"}}}},"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/FindOneWebhookRes"}}}]}}}}},"tags":["Webhooks"],"security":[{"bearer":[]}]},"delete":{"operationId":"delete-one-webhook","summary":"Xóa webhook","parameters":[{"name":"x-merchant-request-id","in":"header","description":"Id đối tác gửi theo request","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-time","in":"header","description":"Unix milisecond UTC","required":true,"schema":{"type":"string"}},{"name":"x-merchant-request-signature","in":"header","description":"Chữ ký của request.\n Xem thêm <a href='https://pay-docs-dev.bizzi.services/docs/guides/encrypt'>cách mã hóa dữ liệu</a>","required":true,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"400":{"description":"Dữ liệu gửi lên có vấn đề"},"401":{"description":"Không được phép truy cập"},"403":{"description":"Chưa được cấp quyền truy cập"},"404":{"description":"Không tìm thấy dữ liệu"},"409":{"description":"Dữ liệu xung đột"},"500":{"description":"Lỗi hệ thống"},"default":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/CustomApiResponse"},{"properties":{"data":{"type":"object","$ref":"#/components/schemas/FindOneWebhookRes"}}}]}}}}},"tags":["Webhooks"],"security":[{"bearer":[]}]}}},"info":{"title":"BIZZI PAY API","description":"Bizzi Pay API","version":"1.0.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"AuthTokenReq":{"type":"object","properties":{"clientId":{"type":"string","description":"Id của client","example":"d3b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b"},"clientSecret":{"type":"string","description":"Secret của client","example":"abcxyz01234"}},"required":["clientId","clientSecret"]},"CustomApiResponse":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code","example":200},"data":{"type":"object","description":"Response data"},"message":{"type":"string","description":"Response error message"}},"required":["statusCode","data"]},"BankDto":{"type":"object","properties":{"bankId":{"type":"string","description":"Id ngân hàng","example":"0678fc6-17bc-4f70-a349-ff4e47b6f172"},"binCode":{"type":"string","description":"Mã BIN của ngân hàng, quy định bởi ngân hàng nhà nước","example":"970426"},"fullName":{"type":"string","description":"Tên ngân hàng","example":"Ngân hàng Thương mại Cổ phần Hàng Hải Việt Nam (Maritime Bank)"},"shortName":{"type":"string","description":"Tên rút gọn","example":"MSB"},"swiftCode":{"type":"string","description":"Mã SWIFT","example":"MSBVVNVX"},"logo":{"type":"string","description":"Đường dẫn tới logo","example":"https://example.com/logo.png"}},"required":["bankId","binCode","fullName","shortName","swiftCode"]},"FindAllBanksRes":{"type":"object","properties":{"banks":{"description":"Danh sách ngân hàng","type":"array","items":{"$ref":"#/components/schemas/BankDto"}}},"required":["banks"]},"CheckAccNameRes":{"type":"object","properties":{"accountName":{"type":"object"}},"required":["accountName"]},"BankBranchOutput":{"type":"object","properties":{"bankBranchId":{"type":"string","description":"Id của chi nhánh ngân hàng","example":"0678fc6-17bc-4f70-a349-ff4e47b6f172"},"citadCode":{"type":"string","description":"Mã chi nhánh ngân hàng","example":"970426"},"name":{"type":"string","description":"Tên chi nhánh ngân hàng","example":"Chi nhánh Hồ Chí Minh"}},"required":["bankBranchId","citadCode","name"]},"FindAllBanksWithBranchesRes":{"type":"object","properties":{"bank":{"description":"Bank details","allOf":[{"$ref":"#/components/schemas/BankDto"}]},"branches":{"description":"List of bank branches","type":"array","items":{"$ref":"#/components/schemas/BankBranchOutput"}}},"required":["bank","branches"]},"CreateOnePobRes":{"type":"object","properties":{"paymentOrderBatchId":{"type":"string"}},"required":["paymentOrderBatchId"]},"CreateOnePaymentOrderReq":{"type":"object","properties":{"refId":{"type":"string","description":"Id của lô lệnh chi phía merchant","example":"ref-1234567890"},"amount":{"type":"number","description":"Số tiền cần chuyển","example":1000000},"accountName":{"type":"string","description":"Tên tài khoản thụ hưởng","example":"NGUYEN VAN A"},"accountNumber":{"type":"string","description":"Số tài khoản thụ hưởng","example":"123456789"},"bankCode":{"type":"string","description":"Mã ngân hàng thụ hưởng","example":"ACB"},"bankBranchCode":{"type":"string","description":"Mã chi nhánh tại ngân hàng thụ hưởng","example":"01307001"},"channel":{"type":"string","enum":["AUTO","INTERNAL","CITAD","NAPAS_ACCT"],"description":"Loại chi hộ"},"remark":{"type":"string","description":"Cú pháp giao dịch","example":"CTY ABC THANH TOAN HANG HOA - ABC123"}},"required":["refId","amount","accountName","accountNumber","bankCode","channel","remark"]},"CreateOnePobReq":{"type":"object","properties":{"sofId":{"type":"string","description":"Id của nguồn tiền","example":"5f4c7f0e-7d7f-4d1b-8c3f-0c1f3b2b8e3b","nullable":false},"merchantReviewer":{"type":"string","description":"Username thực hiện phê duyệt","nullable":false},"paymentOrders":{"nullable":false,"type":"array","items":{"$ref":"#/components/schemas/CreateOnePaymentOrderReq"}}},"required":["sofId","merchantReviewer","paymentOrders"]},"FindOnePoTransactionRes":{"type":"object","properties":{"transactionId":{"type":"string","description":"Id của giao dịch","example":"5f4c7f0e-7d7f-4d1b-8c3f-0c1f3b2b8e3b"},"refId":{"type":"string","description":"Id của giao dịch phía merchant","example":"ref-1234567890"},"amount":{"type":"number","description":"Số tiền giao dịch","example":1000000},"accountName":{"type":"string","description":"Tên tài khoản thụ hưởng","example":"NGUYEN VAN A"},"accountNumber":{"type":"string","description":"Số tài khoản thụ hưởng","example":"123456789"},"bankCode":{"type":"string","description":"Mã ngân hàng thụ hưởng","example":"MSB"},"bankBranchCode":{"type":"string","description":"Mã chi nhánh tại ngân hàng thụ hưởng","example":"970123"},"channel":{"type":"string","enum":["AUTO","INTERNAL","CITAD","NAPAS_ACCT"],"description":"Loại chi hộ"},"remark":{"type":"string","description":"Cú pháp giao dịch","example":"CTY ABC THANH TOAN HANG HOA - ABC123"},"status":{"type":"string","description":"Trạng thái giao dịch","enum":["created","pending","sent_to_bank","sent_to_bank_failed","waiting_for_approval","success","failed","timeout","canceled"],"example":"success"}},"required":["transactionId","refId","amount","accountName","accountNumber","bankCode","channel","status"]},"FindOnePobRes":{"type":"object","properties":{"reviewStatus":{"type":"string","description":"Trạng thái xác nhận lô lệnh chi","example":"approved","enum":["pending","approved","rejected","timeout"]},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/FindOnePoTransactionRes"}}},"required":["reviewStatus","transactions"]},"ConfirmPobRes":{"type":"object","properties":{"reviewStatus":{"type":"string","description":"Trạng thái xác nhận lô lệnh chi","example":"approved"}},"required":["reviewStatus"]},"ConfirmPobReq":{"type":"object","properties":{"otp":{"type":"string","description":"Mã OTP","example":"123456"}},"required":["otp"]},"SofDto":{"type":"object","properties":{"sofId":{"type":"string","description":"Id nguồn tiền","example":"123e4567-e89b-12d3-a456-426614174000"},"bin":{"type":"string","description":"Mã BIN của ngân hàng, quy định bởi ngân hàng nhà nước","example":"970431"},"bankAccountNumber":{"type":"string","description":"Số tài khoản ngân hàng","example":"1234567890"},"bankAccountName":{"type":"string","description":"Tên tài khoản ngân hàng","example":"NGUYEN VAN A"},"type":{"type":"string","enum":["account","card"],"description":"Loại nguồn tiền","example":"account","default":"account"},"bankNostro":{"type":"string","description":"Số tài khoản nostro","example":"11001011234215"},"balance":{"type":"number","description":"Số dư","example":1000000}},"required":["sofId","bin","bankAccountNumber","bankAccountName","type","balance"]},"FindSofsRes":{"type":"object","properties":{"sofs":{"description":"Danh sách nguồn tiền","type":"array","items":{"$ref":"#/components/schemas/SofDto"}}},"required":["sofs"]},"CreateOneSofReq":{"type":"object","properties":{"bankCode":{"type":"string","description":"Mã ngân hàng","example":"5f4c7f0e-7d7f-4d1b-8c3f-0c1f3b2b8e3b"},"bankAccountNumber":{"type":"string","description":"Số tài khoản ngân hàng","example":"1234567890"},"bankAccountName":{"type":"string","description":"Tên tài khoản ngân hàng","example":"NGUYEN VAN A"},"type":{"type":"string","description":"Loại nguồn tiền","example":"account","default":"account"},"bankNostro":{"type":"string","description":"Số tài khoản nostro","example":"11001011234215"}},"required":["bankCode","bankAccountNumber","bankAccountName","type"]},"FindOneWebhookRes":{"type":"object","properties":{"webhookId":{"type":"string","description":"Id của webhook","example":"123e4567-e89b-12d3-a456-426614174000"},"merchantId":{"type":"string","description":"Id của merchant","example":"123e4567-e89b-12d3-a456-426614174000"},"merchantClientId":{"type":"string","description":"Id của client","example":"123e4567-e89b-12d3-a456-426614174000"},"eventName":{"type":"string","description":"Tên sự kiện","example":"payment_order_batches.update","enum":["payment_order_batches.update"]},"endpoint":{"type":"string","description":"Đường dẫn Endpoint","example":"https://example.com/webhook"},"headers":{"description":"Tùy chỉnh header cho webhook","example":[{"key":"custom-key","value":"value"}],"type":"array","items":{"type":"string"}}},"required":["webhookId","merchantId","merchantClientId","eventName","endpoint","headers"]},"CreateOneWebhookReq":{"type":"object","properties":{"eventName":{"type":"string","description":"Tên sự kiện","example":"payment_order_batches.update","enum":["payment_order_batches.update"]},"endpoint":{"type":"string","description":"Đường dẫn","example":"https://example.com/webhook"},"headers":{"description":"Tùy chỉnh headers","example":[{"key":"custom-key","value":"value"}],"type":"array","items":{"type":"string"}}},"required":["eventName","endpoint","headers"]},"UpdateOneWebhookReq":{"type":"object","properties":{"eventName":{"type":"string","description":"Tên sự kiện","example":"payment_order_batches.update","enum":["payment_order_batches.update"]},"endpoint":{"type":"string","description":"Đường dẫn","example":"https://example.com/webhook"},"headers":{"description":"Tùy chỉnh headers","example":[{"key":"custom-key","value":"value"}],"type":"array","items":{"type":"string"}}},"required":["eventName","endpoint","headers"]},"FindWebhooksRes":{"type":"object","properties":{"webhooks":{"description":"List of webhooks","type":"array","items":{"$ref":"#/components/schemas/FindOneWebhookRes"}}},"required":["webhooks"]}}}}