3️Triển khai API Transaction Sync

Dùng để đồng bộ biến động số dư từ VietQR trả về cho đối tác.

POST API Transaction Sync

https://<client-host>/<basepath>/bank/api/transaction-sync

Headers

NameValue

Content-Type

application/json

Authorization

Bearer <token>

Body

NameTypeRequiredDescription

bankAccount

String

Yes

Tài khoản ngân hàng tạo mã thanh toán.

amount

Long

Yes

Số tiền giao dịch.

transType

String

Yes

Phân loại giao dịch là ghi nợ/ghi có (giá trị: D/C).

content

String

Yes

Nội dung chuyển tiền.

transactionId

String

Optional

ID của giao dịch.

transactionTime

String

Optional

Tem thời gian giao dịch.

referenceNumber

String

Optional

Mã giao dịch.

orderId

String

Optional

ID của đơn hàng.

terminalCode

String

Optional

Mã cửa hàng/điểm bán.

serviceCode

String

Optional

Mã sản phẩm/dịch vụ.

urlLink

String

Optional

Link điều hướng sau khi thanh toán thành công.

sign

String

Optional

Chữ ký.

Response

{
    "error": false,
    "errorReason": "mã_lỗi_trả_về_từ_đối_tác",
    "toastMessage": "mô_tả_lỗi_trả_về_từ_đối_tác",
    "object": {
        "reftransactionid": "ID_của_giao_dịch"
    }
}

Code mẫu

import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;

public class VietQRTransactionSync {
    public static void main(String[] args) {
        try {
            // URL for the API endpoint
            URL url = new URL("https://<client-host>/<basepath>/bank/api/transaction-sync");

            // Open a connection to the URL
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setDoOutput(true);
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/json");
            conn.setRequestProperty("Authorization", "Bearer <token>");

            // Create the JSON payload
            String jsonInputString = "{"
                + "\"bankAccount\": \"1234567890\","
                + "\"amount\": 100000,"
                + "\"transType\": \"C\","
                + "\"content\": \"Payment for order #1234\","
                + "\"transactionId\": \"txn_123456\","
                + "\"transactionTime\": \"2024-07-25T12:34:56\","
                + "\"referenceNumber\": \"ref_123456\","
                + "\"orderId\": \"order_1234\","
                + "\"terminalCode\": \"store_001\","
                + "\"serviceCode\": \"service_001\","
                + "\"urlLink\": \"https://example.com/success\","
                + "\"sign\": \"signature_string\""
                + "}";

            // Write the JSON payload to the output stream
            try (OutputStream os = conn.getOutputStream()) {
                byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8);
                os.write(input, 0, input.length);
            }

            // Get the response code
            int responseCode = conn.getResponseCode();
            System.out.println("Response Code: " + responseCode);

            // Handle the response (omitted for brevity)
            // ...

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Các câu hỏi thường gặp

API Transaction Sync dùng để làm gì?

API Transaction Sync được sử dụng để đồng bộ dữ liệu giao dịch từ hệ thống của VietQR với hệ thống của khách hàng. Nó giúp đảm bảo rằng thông tin về các giao dịch luôn được cập nhật và nhất quán giữa hai hệ thống.

Cần chuẩn bị những gì trước khi triển khai API Transaction Sync?

Trước khi triển khai, bạn cần chuẩn bị thông tin xác thực (username và password) mà VietQR cung cấp, cùng với endpoint API mà bạn sẽ tích hợp. Đảm bảo hệ thống của bạn đã sẵn sàng để tiếp nhận và xử lý dữ liệu đồng bộ từ VietQR.

Dữ liệu đồng bộ qua API Transaction Sync bao gồm những gì?

Dữ liệu được đồng bộ qua API Transaction Sync thường bao gồm các thông tin giao dịch như mã giao dịch, số tiền, trạng thái giao dịch, và thời gian thực hiện. Các thông tin chi tiết sẽ phụ thuộc vào cấu hình của VietQR và yêu cầu cụ thể của hệ thống bạn.

Làm thế nào để xử lý nếu việc đồng bộ thất bại?

Nếu việc đồng bộ thất bại, API sẽ trả về mã lỗi và thông báo chi tiết. Bạn nên kiểm tra lại dữ liệu được gửi, đảm bảo rằng thông tin xác thực là chính xác và hệ thống của bạn có thể tiếp nhận dữ liệu từ API. Nếu lỗi vẫn tiếp diễn, hãy liên hệ với bộ phận kỹ thuật của VietQR.

Last updated