2015-12-01 3 views
0

Я работаю над проектом MVC, в котором мне нужно использовать адаптивную цепочку с авторизацией и захватом.Как использовать PaymentAction в адаптивной цепной платежной системе PayPal в C#

прямо сейчас, я этой ссылке: -

https://xadaptivepayments.codeplex.com/

Этот код работает отлично для передачи платежей в более чем одной учетной записи. Но я не знаю, как я могу добавить параметр платежного обращения, когда он перенаправляет на учетную запись для песочницы для оплаты, чтобы продавец мог захватить платеж.

Мой код выглядит следующим образом: -

IPayPalAdaptivePaymentService _paysvc = new PayPalAdaptivePaymentService(); 
     Uri redirectUrl = new Uri(ConfigurationManager.AppSettings["REDIRECT-URL"]); 
     Uri returnUrl = new Uri(ConfigurationManager.AppSettings["PAYPAL-RETURNURI"]); 
     Uri cancelUrl = new Uri(ConfigurationManager.AppSettings["PAYPAL-CANCELURI"]); 
     string str = "asdsadsadsads"; 
     string seller = ConfigurationManager.AppSettings["PAYPAL-SELLER"]; 
     string paymentref = "test123"; 
     string currency = "USD"; 
     List<x.paypal.model.Receiver> receivers = new List<x.paypal.model.Receiver>(); 
     receivers.Add(new x.paypal.model.Receiver { Amount = "3", Email = "[email protected]", InvoiceId = str, Description = "test paypal payment" }); 
     receivers.Add(new x.paypal.model.Receiver { Amount = "7", Email = "[email protected]", InvoiceId = str, Description = "test paypal payment 1" }); 
     IPayRequest payRequest = new x.paypal.model.PayRequest().CreateRequest().WithPaymentReference(paymentref).WithReturnUri(returnUrl).WithCancelUri(cancelUrl).Currency(currency).ReceiverList(receivers); 
     var resp = _paysvc.RequestPayment(payRequest); 
     return Redirect("https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_ap-payment&paymentaction=authorization&paykey=" + resp.PayKey); 

Пожалуйста, помогите мне в этом.

Спасибо заранее ...

ответ

0

Авторизация/Capture не представляется возможным в Adaptive Payments, как оба они находятся в разных отдельной модели.

Однако вы можете достичь концепции авторизации/захвата в Adaptive Payments, которая использует Preapproval Payments.

Установив предварительное одобрение с вашим покупателем за определенные суммы в течение определенного периода времени, покупатель может предварительно одобрить, предоставив свое разрешение, поручив ему сумму, указанную в будущем. (Авторизация)

С полученным ключом предварительного одобрения вы можете заряжать покупателя в любое время, которое вы хотите, что аналогично концепции Capture.

После этого вы должны использовать Pay API operation, поставив preapprovalKey и установить actionType=PAY, чтобы оплатить покупку и передать сумму первичному и вторичному ресиверу.

Ссылка, на которую вы ссылаетесь, очень старая, и я не уверен, поддерживает ли она вышеупомянутый сценарий. Вы можете попробовать исследовать его для достижения вышеуказанной концепции.

Если нет, то вы можете использовать Adaptive Payment SDK здесь для .NET: https://www.nuget.org/packages/PayPalAdaptivePaymentsSDK/

+0

Спасибо Mate ... Я поеду с PreApproval .... – yash

1

actionType определяет действие оплаты в адаптивных платежей. В Adaptive Payments нет платежного агента, такого как sale,order or auth. Вы можете отсрочить платеж, используя actionType от PAY_PRIMARY, чтобы указать, что платеж произведен в основном приемнике, но не на вторичные приемники.

Вам необходимо запустить ExecutePaymentAPI захватить платежи

+0

Как мы можем определить ActionType в этом коде, и после этого, что я должен сделать, чтобы запустить ExecutePaymentAPI выпустить вторичную receiever ... – yash

Смежные вопросы