Cyber​​Source简单订单API捕获PayPal交易

Mat*_*att 10 c# asp.net paypal

我正在尝试捕获已使用PayPal按钮授权的PayPal交易.我正在尝试使用Cyber​​Source Simple Order API来执行此操作.我唯一的3条信息,似乎来自PayPal按钮后面有: payerID,paymentIDpaymentToken.我尝试了几种方法将其交给Simple Order API,但总是DECLINE在响应中获得带有消息的102代码.Cyber​​source的日志系统表明这是因为The following request field(s) is either invalid or missing: request_token.

我是否需要通过网络资源进行整个交易 - 授权和捕获?或者我可以采用paypal生成的按钮并授权交易,然后通过Cyber​​Source捕获它的方式是什么?

这是我的Cyber​​Source SOAPI请求的代码片段:

RequestMessage request = new RequestMessage
{
    merchantID = WebConfigurationManager.AppSettings["cybs.merchantID"]
    , payPalDoCaptureService = new PayPalDoCaptureService {
            run = "true"
            , invoiceNumber = orders
            , paypalAuthorizationId = authId
            , paypalAuthorizationRequestToken = requestToken
            , completeType = "Complete" }
    , clientApplication = "MyClient Application"
    , clientApplicationVersion = "2.0"
    , clientApplicationUser = userName
    , clientEnvironment = WebConfigurationManager.AppSettings["Tier"]
    , merchantReferenceCode = orders
    , customerID = OrderConstants.CustomerNumber
    , merchantDefinedData = new MerchantDefinedData { field1 = "Customer #: " + OrderConstants.CustomerNumber, field2 = orders }
    , purchaseTotals = new PurchaseTotals { currency = "usd", grandTotalAmount = total, taxAmount = taxtotal }
    , item = items.ToArray()
};

ReplyMessage reply = new ReplyMessage();
try
{
    reply = SoapClient.RunTransaction(request);
}
catch (Exception ex)
{
    reply.decision = "SYSTEM ERROR";
    reply.additionalData = string.Format("Error processing request. Exception message: {0}", ex.Message);
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 1

我最终确实解决了这个问题。我的问题涉及我是否需要从端到端使用 Cyber​​Source 是正确的路径。最终,在与 Cyber​​Source 支持人员交谈了几天后,我发现我需要在 WebApi 方法中使用他们的“设置服务”来生成 PayPal“令牌”,并通过生成按钮的 javascript 中的 ajax 将其提供给 PayPal 按钮。我还必须深入研究他们和 PayPal 的文档,并找出如何实现这一点,因为最初并不是很清楚。无论如何,一旦我完成了设置服务,我就收集了来自 Cyber​​Source 的响应中的信息以及 PayPal 令牌,并将其发送到“获取详细信息”服务调用(也是 Cyber​​Source)。最后,该信息被提供给组合的 Do Sale 和 Do Capture 服务呼叫,并捕获资金。该按钮仅允许用户登录其 PayPal 帐户并验证他们是否想要继续交易。

Cyber​​Source 的文档在这方面有点不够清晰,并且它们链接到一组已弃用的 PayPal 文档,这并没有让任何事情变得更容易。