0

我正在尝试使用 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");

4

2 回答 2

0

您还可以从Java 代码示例中的付款示例(示例 14)开始

另一种支付技术是首先使用 DocuSign 网络应用程序创建一个包含支付功能的工作信封。

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

于 2020-08-24T09:06:39.053 回答
0

Saul,我建议您尝试其中任何一个应用程序。目的是您尝试查看可以将该功能与其他人的代码一起使用。在我看来,您的支付网关设置不正确。因此,当您使用其中任何一个应用程序时,请确保使用您的帐户登录,与您用于测试上述应用程序的帐户相同(在演示/开发人员沙箱中)。 MySureMyUni。选择任一应用程序右侧的选项,不要选择“使用预先配置的登录名继续”,而是选择“使用您的 DocuSign 开发者帐户登录”并继续登录。之后,看看是否可以通过签名完成支付。我怀疑您在应用程序中看到的任何问题都会出现。我会根据这些说明返回并再次配置我的支付网关解决问题。如果您仍然卡住 - 请告诉我,我会提供帮助。

于 2020-08-24T03:16:31.503 回答