是什么导致Docusign Payments消息“付款设置失败”?

问题描述

我正在尝试使用Java eSignature REST API使用Stripe设置付款。

在线上有很多不同的示例,我已经尝试了其中的几个示例。我可以使“立即付款”按钮出现在发送的文档上,但是每次单击它都会弹出一个错误框:“付款设置失败”。

如果适当的话,我还将字段放在复合模板的锚文本中。

应该查看设置的哪个区域以确定“设置”失败的原因?

我正在使用通过https://developers.docusign.com/esign-rest-api/code-examples/code-example-payments指示的“跳过此帐户表单”创建的测试Stripe帐户。

                Number numberTab = new Number()
                .value("250")
                .tabLabel("numberTab")
                .anchorString("LineItemTest")
                .anchorIgnoreIfNotPresent("false")
                .anchorXOffset("1")
                .anchorYOffset("0")
                .anchorUnits("inches")
                .documentId(tCompositeTemplate.getDocument().getDocumentId());
    
                PaymentLineItem lineItem = new PaymentLineItem()
                        .name("PaymentAmount1")
                        .description("Set payment Amount")
                        .amountReference("numberTab");

                PaymentDetails payDetails = new PaymentDetails()
                        .total(total)
                        .gatewayAccountId(<the gateway account id on the Docusign Payments page for my Stripe account>)
                        .currencyCode("USD")
                        .gatewaydisplayName("Stripe")
                        .addLineItemsItem(lineItem)
                        .status("new");
 
                FormulaTab formulaPayment = new FormulaTab()
                        .tabLabel("\\*PaymentTest")
                        .formula("550")
                        .roundDecimalPlaces("2")
                        .paymentDetails(payDetails)
                        .isPaymentAmount("true")
                        .required("true")
                        .locked("true")
                        .hidden("false")
                        .documentId(tCompositeTemplate.getDocument().getDocumentId())
                        .anchorString("PaymentTest")
                        .anchorIgnoreIfNotPresent("false")
                        .anchorXOffset("1")
                        .anchorYOffset("0")
                        .anchorUnits("inches")
                        .recipientId("1");

解决方法

扫罗,我建议您尝试使用其中任一应用。目的是使您尝试看到可以将该功能与其他人的代码一起使用。在我看来,您设置的付款网关不正确。 因此,当您使用这些应用程序中的任何一个时,请确保使用您的帐户(用于测试上述应用程序的帐户)登录(在演示/开发人员沙箱中)。 MySureMyUni。 选择任一应用程序右侧的选项,而不选择“继续使用预配置的登录名”,而是选择“使用您的DocuSign开发人员帐户登录”并继续登录。 之后,查看您是否可以使用签名完成付款。我怀疑您在应用中看到的任何问题都会出现。 我将返回并基于these instructions重新配置我的付款网关,以解决此问题。 如果您仍然遇到困难,请告诉我,我会帮忙。

,

您还可以从Java code examples

的付款示例(示例14)开始

另一种支付技术是首先使用DocuSign Web应用程序创建一个包含支付功能的有效信封。

然后将信封更改为模板,然后在API应用程序中使用该模板。 (使用API​​从模板创建信封。)此方法的好处是,以后,从Web应用程序更改模板然后更改API程序会更容易。