很抱歉,我们现在无法完成您的付款.请稍后再试 - PayPal Payments Pro



我已经实现了托管网站付款的iframe版本。我使用按钮API注册我的按钮,请恢复一个URL以进食iframe,向我显示了通过信用卡或登录和付款选项的PayPal付款。

我的集成在登录和使用我的PayPal帐户时正在工作,但是当我输入信用卡详细信息时,我会收到错误:

我们很抱歉,我们现在无法完成您的付款。请再试一次 后来。

我没有获得任何其他信息,该信息和我的通知URL不会使用错误代码或任何其他信息。

这是我用来获取URL输入IFRAME的代码(注意:我已经在假设上添加了帐单地址字段,因为我需要地址详细信息以通过卡付款,因此可能会引发错误。

public PayPalPaymentProRegistrationResponse RegisterTransaction(PayPalPaymentProRequest request)
{
    CountryCodeType countryCodeType;
    if (!Enum.TryParse(request.Order.BillingContact.Address.Country.Iso2Code, true, out countryCodeType))
        return new PayPalPaymentProRegistrationResponse(PayPalPaymentProRegistrationResponseType.Error, "Billing country not supported.");
    var service = new PayPalAPIInterfaceServiceService(GetConfig(request));
    var createButtonResponse = service.BMCreateButton(new BMCreateButtonReq
    {
        BMCreateButtonRequest = new BMCreateButtonRequestType
        {
            ButtonType = ButtonTypeType.PAYMENT,
            ButtonCode = ButtonCodeType.TOKEN,
            ButtonCountry = countryCodeType,
            ButtonVar = new List<string>
            {
                String.Format("subtotal={0}", _salesOrderPriceService.GetGrossTotal(request.Order)),
                String.Format("notify_url={0}", request.NotifyUrl),
                String.Format("return={0}", request.ReturnUrl),
                String.Format("invoice={0}", request.Order.Id),
                String.Format("currency_code={0}", request.Order.Currency.Code),
                String.Format("cancel_return={0}", request.CancelReturnUrl),
                "billing_first_name=my",
                "billing_last_name=name",
                "billing_address1=address 1",
                "billing_city=town",
                "billing_state=county",
                "billing_zip=PO CODE",
                "billing_country=GB",
                "showHostedThankyouPage=true",
                "template=templateD"
            }
        }
    });
    return new PayPalPaymentProRegistrationResponse
    {
        ForwardingUrl = createButtonResponse.Email,
        Status = PayPalPaymentProRegistrationResponseType.Ok
    };
}

注意:我正在使用信用卡号4111111111111111。如果我尝试使用其他数字4929000000006,它将返回另一个错误,说该信息无效,并突出显示信用卡号字段,因此我相信我正在使用的测试号是可以的。

我正在使用我的沙箱帐户集成。

有人对可能发生的事情有任何观点吗?

事实证明,我在沙箱中使用的信用卡号是错误的。您需要登录您的沙箱帐户并查看个人资料。在其中,您将看到一个信用卡号码。

我还将"paymentaction=sale"添加到我的按钮请求中。

两者都完成了,现在需要付款。

相关内容

  • 没有找到相关文章

最新更新