▪ Mọi hướng dẫn hợp nhất
TRONG BÀI HỌC · API / backEND / MOBLE

Tích hợp thanh toán bằng tiền điện tử với MochiPay API

Tạo và truy vấn lệnh thanh toán từ ứng dụng của bạn. PHP Demo 1.2.0 hỗ trợ PHP 7.0–8.4 và cung cấp thứ tự.php,back.p, check out.p với cả hai chi nhánh trình bày, đóng gói tài sản hộp thoại địa phương và một thư mục đọc tiếng Anh. Hãy dùng «- site » (mặc định) hoặc HPP với cùng thứ tự thanh toán.

Demo đi qua cấu hình · Biểu tượng · sử dụng một khoản tiền nhỏ để xác minh thiết lập của riêng bạn.

Đặt hàng, thanh toán tại chỗ hoặc HPP, ví nhận trực tiếp và xác nhận đã được xác minh
Minh họa dòng chảy trả tiền. Hiện tại và HPP sử dụng cùng một thứ tự thanh toán; máy phục vụ của bạn xác nhận trạng thái cuối cùng của nó.

Xem kết quả thanh toán đầy đủ

Minh họa xác nhận thanh toán cũng như kết quả đơn hàng và ví để xác minh

Demo minh họa với các giá trị mẫu. Xác minh những kết quả này bằng cách sử dụng một khoản thanh toán thực sự nhỏ trong thiết lập của riêng bạn; số tiền thanh toán và yêu cầu xác nhận tùy thuộc vào đơn hàng.

01 · Chuẩn bị tài khoản MochiPay của bạn

  1. Tạo một tài khoản và khởi chạy một tờ đề nghị.
  2. Mở Ví, chọn Thêm ví HD , tạo ra mã mới một cách an toàn và lưu ví. Dùng tài sản/ Mạng bạn sẽ dùng để thử ra.
  3. Đặt tên màn hình hiện thời của khách Hồ sơ.
  4. Mở Giấy chứng nhận ADI và sao chép chìa khóa của anh và giữ bí mật của API. Nếu không có bí mật nào được lưu giữ, tái tạo nó cho lần đầu tiên thiết lập và lưu trữ nó một cách an toàn. Tạo lại một sự kết hợp bí mật đã có sử dụng bí mật trước đó.

Sẵn sàng khi: Bạn có giấy ủy quyền dưới đây.

Xem lời tường thuật được minh họa

02 · Định cấu hình bản demo PHP

Tải và trích xuất chứng minh PHP. Tải toàn bộ thư mục chiết xuất, bao gồm cả tài liệu xách tay/ và giấy phép mã QR, lên một máy chủ PHP 7.0–8.4 với cURL, JSON, các phiên chạy, các phiên chạy ngẫu nhiên, lưu trữ tạm thời và HTTPS. Bảo vệ mẫu thử ra dạng công cụ quản trị/ ảnh chụp; dùng cơ sở dữ liệu thứ tự bền vững để sản xuất. Sửa cấu hình ở đỉnh của thứ tự.php.

Mở: Cấu hình bên máy phục vụ

Thiết lậpNhững gì để nhập
MOCHIPAY_BASE_URLhttps://mochi.bz
MOCHIPAY_API_KEYComment
MOCHIPAY_API_SECRETBí mật của anh đã cứu mạng tôi.
MOCHIPAY_CHECKOUT_MODEON_SITE (mặc định) hoặc HPP
MOCHIPAY_DEMO_PUBLIC_URLThư mục chứng minh HTTPS tuyệt đối của bạn, đặc biệt nằm sau một ủy nhiệm
Minh họa cấu hình ADI / PHP
Minh họa cấu hình; ngoại hình thay đổi tùy theo phiên bản nền tảng. Bảng chứa đầy đủ các giá trị.

Chứng minh PHP được cung cấp CURLOPT_SSL_VERIFYPEER => false trong yêu cầu của nó. Giữ các bí mật của máy phục vụ bên trong cấu hình. Đừng bao giờ đưa chúng vào bộ duyệt JavaScript.

Sẵn sàng khi: Thứ tự.p nạp mà không có lỗi cấu hình ủy nhiệm hay cURL.

Chọn vùng hoặc HPP

Phương thứcNameTrách nhiệm máy phục vụ
Bật-site (mặc định)Hộp thoại thanh toán trên chính miền của bạn, với số lượng chính xác, địa chỉ, mạng, QR và trạng thái.Tạo và lưu kết hợp trả tiền; yêu cầu qua hậu phương của riêng bạn và chỉ trở lại một xem thanh toán an toàn.
HPPChuyển hướng đến payment_url được trả về trên MochiPay.Lưu cùng một mã số cuộc gọi và xác nhận trả lời máy chủ cho máy chủ.

Chế độ thanh toán là tùy chọn tích hợp của bạn chứ không phải trường API. Cả hai liên kết đều sử dụng một đơn hàng. Không tạo lệnh khác khi chuyển đổi chế độ. SaaS cổ điển chỉ hỗ trợ HPP.

Tất cả sáu phương pháp đều có sẵn: USDT_TRC20, USDC_ERC20, BTC_BITCOIN, ETH_ERC20, SOL_SOLANA và TRX_TRON. LÊN là hướng số lượng duy nhất mặc định; XUỐNG cũng được hỗ trợ. Kích hoạt ví nhận cho mỗi phương thức được cung cấp.

03 · Đặt và thanh toán đơn hàng kiểm tra

Mở order.php. Tạo một đơn đặt hàng demo nhỏ bằng cách sử dụng tham chiếu đơn đặt hàng duy nhất của người bán và phương thức thanh toán được định cấu hình. Chọn ON_SITE hoặc HPP; mở liên kết ưa thích được hiển thị sau khi tạo. Kết quả cũng cung cấp tính năng thanh toán tại cửa hàng nhúng và các liên kết chuyển hướng PHP HPP; cả hai đều được triển khai trong checkout.php. Liên kết thay thế sử dụng cùng một thứ tự.

  1. Khớp tài sản và mạng đã chọn, và gửi số lượng chính xác được hiển thị trên trang thanh công cụ.
  2. Gửi số lượng chính xác trên trang thanh công cụ đến địa chỉ nhận được hiển thị. Không vòng lại hoặc sử dụng lại địa chỉ từ một thứ tự khác.
  3. Đợi các xác nhận blockchain được yêu cầu và lệnh MochiPay trở thành PAID.

Ví dụ về cửa hàng/API có thể định giá sản phẩm bằng USD. MochiPay khóa chuyển đổi khi tạo đơn hàng; điều chỉnh số tiền duy nhất có thể thay đổi số tiền phải trả cuối cùng. Giá trị thanh toán là số tiền cần gửi.

Kiểm tra thành công: lệnh MochiPay hiển thị PAID, với giao dịch được ghi lại. Chỉ mở trang hoàn trả của trình duyệt không chứng minh được việc thanh toán.

04 · Xác minh kết quả và nhận ví

Truy vấn đơn hàng theo hệ thống order_id từ ứng dụng của bạn. Chỉ chấp nhận thanh toán sau khi truy vấn được xác thực là PAID và khớp với ID hệ thống được lưu trữ của bạn, tham chiếu người bán, số tiền/tiền tệ ban đầu, tài sản/mạng đã chọn, địa chỉ nhận, số tiền phải trả chính xác và số tiền nhận được dự kiến. Thực hiện thông qua một giao dịch địa phương nguyên tử, bình thường. callback.php thể hiện việc xác minh này đối với các thông báo và trả về của trình duyệt bằng cách sử dụng các bản ghi demo riêng tư. Nó không thực hiện mệnh lệnh; thay thế các bản ghi tạm thời và TODO gọi lại bằng cơ sở dữ liệu sản xuất và giao dịch thực hiện của bạn. Đọc README đi kèm.

Khớp giao dịch thanh toán và địa chỉ nhận với đơn hàng MochiPay của bạn. Xem lại ví nhận hoặc trình khám phá blockchain. Tiền đã có trong ví nhận của bạn; không có yêu cầu rút tiền nền tảng.

Dùng một ví tương thích và chờ xác nhận bị chặn khi chuyển tiền. Đọc hướng dẫn quản lý bức tường nhận

Name

Kiên trì thử trước khi Tạo đơn hàng. Bản demo PHP hiện tại lưu request_id và tải trọng chính xác trước khi Tạo đơn hàng. Sau một thời gian chờ mà không có ID hệ thống được lưu, hãy thử lại cùng tải trọng đó và request_id; Thay vào đó, order_id đã biết sẽ được truy vấn. Tham chiếu đơn đặt hàng của người bán có thể lặp lại; sử dụng ID đơn hàng hệ thống hoặc ID yêu cầu đã lưu để xác định khoản thanh toán. Giữ nguyên các giá trị phản hồi thập phân dưới dạng chuỗi trước khi chuyển đổi float PHP hoặc JavaScript; hiển thị chính xác pay_amount. QR đi kèm chỉ mã hóa địa chỉ nên khách hàng phải nhập số tiền được hiển thị.

Khi tự xây dựng khách hàng của mình

Dùng X-Mochi-Key và X-Mochi-SignatureTạo ra các dấu hiệu chính xác của JSON sử dụng cơ sở 64 mã hóa HMAC-SHA256. Truy vấn chuỗi truy vấn chính xác mà không cần dấu hỏi hàng đầu. Giữ máy chủ bí mật bên cạnh.

Nếu kiểm tra không hoàn tất

Không thể tạo tùy chọn thanh toán hay thứ tự

Kiểm tra tình trạng đăng ký, ví hiện thời, mã hóa phương pháp thanh toán, giấy ủy nhiệm và cặp môi trường trao đổi cho loại tiền tệ thứ tự. Đối với bổ sung, cũng kiểm tra phương pháp được dùng cho phạm vi cửa sổ/ khách hàng dùng trong thử.

Khoản thanh toán vẫn đang chờ hoặc thanh toán chưa đủ

So sánh tài sản, mạng lưới, địa chỉ và số tiền chính xác với giao dịch. Chờ xác nhận. Không đánh dấu một thứ tự cửa hàng chỉ được trả dựa trên ảnh chụp màn hình hay trình duyệt quay lại.

MochiPay đã được thanh toán nhưng cửa hàng/ứng dụng của tôi không được cập nhật

Kiểm tra để đảm bảo rằng các điểm cuối thông báo/gọi lại có thể truy cập công khai qua HTTPS và không bị chặn bởi xác thực hoặc tường lửa. Xác nhận rằng tiện ích tích hợp có thể truy vấn MochiPay và kiểm tra nhật ký lỗi của nó. Chỉ liên kết thanh toán cập nhật MochiPay chứ không phải cửa hàng bên ngoài.

Comment

Các tích hợp hiện có tiếp tục hoạt động mà không cần request_id. Để sử dụng lại lệnh thanh toán tương tự sau khi hết thời gian chờ, hãy thêm request_id tùy chọn vào phần nội dung JSON đã ký trước khi tính toán chữ ký HMAC hiện có.

{"merchant_order_id":"STORE-1001","amount":25,"currency":"USD","payment_method":"USDT_TRC20","request_id":"STORE-1001:create:v1"}

Sử dụng các chữ cái, chữ số, dấu chấm, dấu gạch dưới, dấu hai chấm hoặc dấu gạch ngang trong 1–64 ASCII. Một khóa thuộc về một người bán và một tải trọng yêu cầu. Sử dụng lại cùng một khóa và tải trọng để thử lại; phản hồi giữ các trường hiện có và trả về thứ tự ban đầu ở trạng thái hiện tại. Chìa khóa được giữ lại mà không tự động hết hạn. Đối với mỗi lần thanh toán mới, hãy sử dụng request_id mới. merchant_order_id có thể giữ nguyên: 123, 124, 124 tạo ba đơn hàng hệ thống độc lập. Đơn hàng chưa thanh toán trước đó không chặn việc tạo. Chỉ việc thử lại cùng một yêu cầu sẽ sử dụng lại request_id của nó và tải trọng không thay đổi. WEB82.6 quảng cáo request-id-v1; truy vấn request_id đã lưu để giải quyết phản hồi không chắc chắn. Các tham chiếu người bán lặp đi lặp lại không phải là khóa khôi phục. Triển khai WEB82.6 hoặc mới hơn trước các gói tích hợp; WEB82.7 thêm HPP cancel/return.

HTTP 409 REQUEST_IN_PROGRESS: thử lại yêu cầu tương tự sau độ trễ Retry-After. HTTP 409 REQUEST_ID_CONFLICT: khóa được sử dụng lại với tải trọng khác. Không tạo khóa mới chỉ để bỏ qua thời gian chờ. ON_SITE và HPP đều có thể sử dụng các trường thanh toán được trả lại hoặc payment_url như trước.

Chia sẻ hướng dẫn này

Gửi liên kết này cho người thiết lập sự tích hợp của bạn.