当前位置: 首页 > 知识库问答 >
问题:

在ASP. NET Core中执行Paypal付款时INTERNAL_SERVICE_ERROR

华升
2023-03-14

执行paypal支付时出现以下错误:

{"name":"INTERNAL_SERVICE_ERROR","消息":"发生了内部服务错误","information_link":"https://developer.paypal.com/docs/api/payments/#errors","debug_id":"a997a9f72d8f6"}

以下是付款执行代码:

var apiContext = PaypalConfiguration.GetAPIContext();
            var paymentExecution = new PaymentExecution() { payer_id = payerId };
            var payment = new Payment() { id = paymentId };
            // Execute authorization.
            var executedPayment = payment.Execute(apiContext, paymentExecution);// Execute the payment
            if (executedPayment.state.ToLower() == "approved")
            {
                var auth = payment.transactions[0].related_resources[0].authorization;

                var capture = new Capture()
                {
                    amount = amount,
                    is_final_capture = true
                };

                var responseCapture = auth.Capture(apiContext, capture);
                return responseCapture;
            }

共有2个答案

滑令
2023-03-14

这是Paypal的内部错误。

我会将带有调试id的票证提交给https://www.paypal-techsupport.com/app/home

以下是一些具有相同错误的链接。也许这会帮你指明正确的方向。

https://www.paypal-community.com/t5/REST-APIs/INTERNAL-SERVICE-ERROR-REST-v1-payments-payment/td-p/1480048#

PayPal REST沙盒API提供内部\u服务\u错误

邰棋
2023-03-14

虽然INTERNAL_SERVICE_ERROR有许多可能的原因,但其中一些是短暂的,在这种情况下,此时此刻可能是沙盒错误导致沙盒账户电子邮件无法确认。

通过以下方式确认电子邮件:

  1. https://www.sandbox.paypal.com/businessprofile/settings/email --使用sandbox receiver电子邮件登录,并重新发送确认消息

与上述内容不同,您似乎正在集成一个不推荐使用的v1支付API。您应该使用v2/checkout/orders API,记录如下:https://developer.paypal.com/docs/checkout/reference/server-integration/

您需要“设置事务”和“捕获事务”步骤。带有意图的中间授权步骤(在捕获之前):授权是可选的,仅当您对该额外步骤有非常具体且定义良好的业务需求时才执行此操作。

用于客户批准的最佳前端UI是:https://developer.paypal.com/demo/checkout-v4/#/pattern/server ,因为它不使用重定向,并在后台加载站点。这提供了最现代的“背景”体验。

 类似资料:
  • 我正在使用贝宝/签出-php-sdk,但我不知道创建订单后该做什么。 我可以成功创建订单: 正如你看到的,我把return_url到“/执行命令”, 因此,PayPal在验证后将我重定向到此url: 但我不知道下一步该怎么办。我必须执行付款,但在包的示例中,我只找到createOrder和captureOrder,但没有executeOrder

  • 在用户批准后执行()授权支付时失败。 范围:"openid配置文件电子邮件地址电话https://uri.paypal.com/services/expresscheckout" consent _ uri:" https://www . sandbox . paypal . com/web apps/auth/protocol/OpenID connect/v1/authorize?客户端标识=

  • 我检查了贝宝开发人员的文档,以找到一个适合我的支付处理需求的解决方案。现在我不确定平行付款是否可以按我需要使用。 场景:商店中的客户可以有多个推车,因为每个推车都与一个可选择的交货时间相关联。结账时,每一辆车都必须成为一个单独的订单,并有自己的发票。现在,使用PayPal支付时,每一个订单都需要有自己的带有交易ID的支付等等,总结起来,我不需要一次性支付给多个接收方,而是每个订单多个支付给一个接收

  • 我在网上搜索了一下,但没有找到任何与此相关的内容。我想制作一个脚本,当客户向我的Paypal帐户付款时,它会自动向客户发送电子邮件。 为了做到这一点,我想在成功付款后从Paypal获取3样东西,1。客户的电子邮件ID,2。支付金额,3。产品名称 任何想法都将不胜感激。

  • 我正在开发一个WordPress插件,在那里我可以接受PayPal Express的付款。我能够成功获得PaymentID和PayerID。但我不知道如何验证付款。另外,我可以从payerID或PaymentID获取付款人详细信息吗? 下面是我用来创建支付按钮的脚本。 非常感谢。