Chuyển đến nội dung chính

Tạo đơn hàng

Merchant Server gửi thông tin đơn hàng tới Zalopay Server để tạo đơn hàng.

Request Body required
  • app_id int32 required

    ID duy nhất của ứng dụng sẽ được cung cấp sau khi nhà cung cấp đăng ký thành công với Zalopay.

  • app_user string required

    ID nhà cung cấp.

  • app_trans_id string required

    ID giao dịch duy nhất của ứng dụng, định dạng: yyMMddxxxxxxxxx. Độ dài tối đa là 40 ký tự. Ví dụ: 180208181007242.

  • app_time int64 required

    Thời điểm (timestamp) khi đơn hàng được tạo ra, tính bằng mili giây (ms). Giới hạn khác biệt là 15 phút.

  • amount int64 required

    Số tiền sẽ được tính phí (thanh toán).

  • title string

    Tiêu đề tùy chọn của đơn hàng.

  • description string required

    Người dùng sẽ thấy văn bản này khi họ ở trong màn hình xác nhận thanh toán.

  • callback_url string

    Zalopay sẽ sử dụng URL này để thông báo khi thanh toán thành công. Nếu không được cung cấp, URL gọi lại mặc định của ứng dụng sẽ được sử dụng.

  • device_info string

    Chuỗi JSON mô tả thông số kỹ thuật của thiết bị.

  • item string required

    Chuỗi JSON mô tả các mục đơn hàng. Sử dụng "[]" nếu rỗng

  • embed_data string required

    Chuỗi JSON bao gồm thông tin đặc biệt của đơn hàng.
    Sử dụng "{}" nếu rỗng
    Một số trường đặc biệt của embed_data:
    preferred_payment_method

    + Kiểu dữ liệu: array string
    + Định dạng: ["domestic_card", "vietqr", "..."]. Tham khảo tại đây
    + Mô tả: Dùng để hiển thị phương thức thanh toán tùy chọn trên cổng Zalopay, ví dụ: {"preferred_payment_method":["vietqr"]}

    redirecturl

    + Kiểu dữ liệu: string
    + Định dạng: URL
    + Mô tả: Redirect về url này sau khi thanh toán trên cổng Zalopay (override redirect url lúc đăng ký app với Zalopay). Ví dụ: {"redirecturl": "https://docs.zalopay.vn/result"}

    columninfo

    + Kiểu dữ liệu: json string
    + Định dạng: {"column_name": "value"}
    + Mô tả: Thêm thông tin hiển thị ở phần Quản lý giao dịch chi tiết trên Merchant site, nếu cột chưa tồn tại cần vào phần Cài đặt hiển thị dữ liệu để cấu hình. Ví dụ: {"columninfo": "{\"branch_id\": \"HCM\",\"store_id\": \"CH123\",\"store_name\": \"Saigon Centre\",\"mc_campaign_id\": \"FREESHIP\"}"}

    promotioninfo

    + Kiểu dữ liệu: json string
    + Định dạng: {"campaigncode":"code"}
    + Mô tả: Dùng để triển khai chương trình khuyến mãi. Ví dụ: {"promotioninfo": "{\"campaigncode\":\"blackfriday\"}"}

    zlppaymentid

    + Kiểu dữ liệu: string
    + Mô tả: Mã thông tin thanh toán. Chỉ truyền khi đối tác cần nhận tiền đối soát về nhiều tài khoản khác nhau. Hệ thống Zalopay sẽ tạo ra một mã Thanh toán (tương ứng với mỗi Tài khoản ngân hàng đối tác cung cấp) và gởi lại cho đối tác thiết lập. Ví dụ: {"zlppaymentid": "P4201372"}

    subscription

    + Kiểu dữ liệu: json string
    + Mô tả: Thông tin dành cho đơn hàng subscription.

    - id: Mã định danh duy nhất cho từng gói subscription. Sử dụng cùng một id khi user thực hiện gia hạn gói.
    - plan_name: Tên gói đăng ký.
    - base_price: Giá gốc của gói đăng ký, chưa bao gồm giảm giá, thuế hoặc các phí khác. Đây là số tiền người dùng cần thanh toán cho lần gia hạn tiếp theo.
    - start_date: Thời gian bắt đầu kích hoạt gói đăng ký.
    - end_date: Thời gian kết thúc của gói đăng ký.
    - reminder_before: Số ngày trước khi gia hạn mà mong muốn người dùng sẽ nhận được thông báo nhắc nhở (không bắt buộc).
    - billing_cycle: Chu kỳ thanh toán. Các giá trị hợp lệ: yearly, monthly, weekly, 3 months, 2 weeks, 10 days,... (không bắt buộc)

    + Ví dụ: {"subscription":"{\"id\":\"PACKAGE_1\",\"name\":\"Monthly TV Package\",\"base_price\":100000,\"start_date\":\"2024-11-01T00:00:00+07:00\",\"end_date\":\"2024-11-30T23:59:59+07:00\",\"reminder_before\":3,\"billing_cycle\":\"monthly\"}"}
    + Lưu ý: start_date và end_date tuân theo tiêu chuẩn ISO 8601. Ví dụ: "2024-11-01T00:00:00+07:00".

  • mac string required

    Đây là chữ ký của đơn hàng. Nó được tính bằng cách sử dụng thông tin đầu vào như sau: hmac_input = app_id + | + app_trans_id + | + app_user + | + amount + | + app_time + | + embe_data + | + item và sử dụng SHA256 với khóa HMAC của ứng dụng làm khóa chữ ký. Vui lòng tham khảo phần truyển dữ liệu an toàn để biết thêm chi tiết.

  • product_code string

    Possible values: [AGREEMENT]

    Nếu đơn hàng là cho thỏa thuận thanh toán, trường này phải là "AGREEMENT".

  • bank_code string
  • phone string

    Số điện thoại của người dùng.

  • email string

    Email của người dùng.

  • address string

    Địa chỉ của người dùng.

Responses

OK


Schema
  • return_code integer

    Mã trạng thái Vui lòng tham khảo mã trạng thái để biết thêm chi tiết.

  • return_message string
  • sub_return_code integer

    Lý do chi tiết giải thích tại sao hoạt động đã thất bại. Vui lòng tham khảo sub status code để biết thêm chi tiết.

  • sub_return_message string
  • zp_trans_token string
  • order_url string
Loading...