2016-09-30 18 views
5

Tôi đã tạo tài khoản Paypal/Developer/Sandbox. Đã nhận được chứng chỉ API.Magento 2: Cách thay đổi Phương thức thanh toán khi đang bay trong Paypal Express

Downloaded PHP SDK http://paypal.github.io/PayPal-PHP-SDK/

Nhắc: https://developer.paypal.com/docs/api/

https://devtools-paypal.com/guide/expresscheckout/php?interactive=ON&env=sandbox

Tôi đã làm Sandbox Một giao dịch với Authorize Phương pháp sử dụng PHP Script của tôi.

Những gì tôi phải đạt được. Tôi cần nhận thanh toán Ủy quyền, Chuyển đổi "Ủy quyền" thành "Chụp/Bán" Phương thức & Thông báo cho Khách hàng & Quản trị viên.

Làm cách nào để nhận được ID ủy quyền?

Đề cập ở trên tài liệu tôi cần phải sử dụng 3 Web Services

  • Nhận chi tiết của một thanh toán ủy quyền
  • Capture thanh toán ủy quyền
  • Nhận thông tin chi tiết của một thanh toán bắt

Đã có ID giao dịch của "Ủy quyền" thanh toán.

Vui lòng cung cấp các bước để làm theo & nếu có ví dụ đã có sẵn sau đó hãy chia sẻ

cần phải tích hợp chức năng này trong Magento 2

[UPDATE]

Tôi đã thay đổi của tôi API Sandbox Credentials trong PHP SDK trong PayPal-PHP-SDK-master\sample\bootstrap.php tệp.

Từ sample/payments/AuthorizePayment.php tôi sẽ nhận được thanh toán được ủy quyền có ID: PAY-0TV39791XXX02404VK7XD32I & hoạt động tốt.

Khi tôi đầu vào của tôi Transaction Id nó mang lại cho

{ "tên": "INVALID_RESOURCE_ID", "message": "Yêu cầu ID tài nguyên không được tìm thấy.", "Information_link": "https://developer.paypal.com/webapps/developer/docs/api/#INVALID_RESOURCE_ID"," debug_id ":" 1f2b08ce88633 "}

Id giao dịch hộp cát của tôi là 3AA32794KF48247AA. Vậy câu hỏi là làm cách nào để chuyển đổi Id giao dịch của bạn sang Id thanh toán?

https://magento.stackexchange.com/questions/138579/magento-2-change-paypal-action-method-on-the-fly

Dưới đây là trả lời từ Paypal

id giao dịch có thể được tạo ra sau khi REST API thực hiện thanh toán, cổ điển API [NVP/SOAP] DoEC API hoặc hoàn thành thanh toán nút bình thường. Nó sẽ không bao giờ hoạt động để đảo ngược tìm kiếm để tìm Id thanh toán.

+0

Điều này tùy thuộc vào SO Người kiểm duyệt xem họ có muốn chuyển câu hỏi từ trang SO sang http://magento.stackexchange.com hay không? Kết quả cuối cùng của điều này tôi muốn trong Magento 2. Cảm ơn –

+0

Xin chào Cộng đồng SO, Xin vui lòng hướng dẫn tôi để đạt được chức năng. Cảm ơn –

+0

Xin chào, tôi đã cập nhật câu trả lời của mình, xem bên dưới. – stweb

Trả lời

1

Nếu bạn có paymentId, bạn có thể nhận được thông tin chi tiết thanh toán ủy quyền theo cách này:

$payment = Payment::get($paymentId, $apiContext); 

Đối với tất cả propeties của lớp thanh toán hãy xem này - Payment.php

Để thay đổi Sandbox/API Thông tin xác thực chỉnh sửa bootstrap.php trong dự án của bạn.

CẬP NHẬT

Bạn không cần phải sử dụng AuthorizePayment.php. Istead, hãy làm như sau:

  1. Tạo thanh toán và nhận url để ủy quyền (bên trang web của bạn).
  2. In url để ủy quyền (bên trang web của bạn).
  3. Cutomer theo url ủy quyền và chuyển đến PayPal và ủy quyền thanh toán (bên PayPal).
  4. PayPal trả khách hàng về trang web của bạn với paymentId (bên PayPal).
  5. Nhận thanh toánId và thực hiện thanh toán (bên trang web của bạn).
+0

PaymentId = ID giao dịch? Tôi có Id giao dịch. Làm thế nào để có được PaymentId trên cơ sở TransactionId? –

+0

Khi thanh toán được chấp thuận trên PayPal, nó trả về trang web của bạn với paymentId làm thông số nhận được, được thêm vào url trả về của bạn. Bạn có thể làm rõ làm thế nào để bạn có được TransactionId? – stweb

+0

Mặc dù tôi có id giao dịch được lưu trữ trong Cơ sở dữ liệu của tôi từ Paypal. Tôi vẫn phải tạo ra toàn bộ một lần nữa? –

Các vấn đề liên quan