2017-09-27 1 views
0

Est-ce que quelqu'un a essayé de changer le "montant fixe" d'un "élément de paiement" en utilisant l'API de repos de DocuSign?Continuer à recevoir l'erreur "PAYMENTTABS_LINEITEM_AMOUNT_IS_MISSING"

J'utilise un modèle qui a été conçu et configuré via la page Web de DocuSign.

Le modèle se compose de 2 rôles de modèle, dont l'un est le «client». Il contient un élément de paiement dans lequel je souhaite pré-remplir le montant en dollars, le code de l'élément de description de paiement et les détails de l'élément de description de paiement.

Je trouve cela dans la documentation sous la rubrique 'formulaTabs':

"<paymentDetails>" + 
    "<lineItems>" + 
     "<paymentLineItem>" + 
      "<amountReference>\\*txtPayment</amountReference>" + 
      "<description>" + polNum + "</description>" + 
      "<itemCode>" + custId + "</itemCode>" + 
     "</paymentLineItem>" + 
    "</lineItems>" + 
"</paymentDetails>" + 

mais, je ne suis pas sûr où placer, je l'ai essayé de l'utiliser dans les

<envelopeDefinition> </envelopeDefinition> 

et

<text> </text> 

Mais, je continue de proposer une erreur PAYMENTTABS_LINEITEM_AMOUNT_IS_MISSING.

J'ai un champ de texte sur le modèle étiqueté txtPayment (dont je n'ai pas vraiment besoin).

L'élément de paiement est libellé txtPaymentItem.

Je suis ouvert à l'utilisation d'autres moyens si nécessaire.

Merci,

Répondre

0

J'espère que vous êtes en mesure d'utiliser le Paiement à l'aide webapp mais aux prises dans l'utilisation de l'API, de sorte que la structure JSON correcte à utiliser l'API DocuSignPayment est,

"formulaTabs": [{ 
       "ConcealValueOnDocument": "false", 
       "Formula": "([PaymentItem1]) * 100", 
       "IsPaymentAmount": "false", 
       "Locked": "true", 
       "Name": "paymentsFormulaTab", 
       "PaymentDetails": { 
        "currencyCode": "USD", 
        "gatewayAccountId": "a7dcd60d-d963-4a81-bc72-68b71aad2062", 
        "lineItems": [{ 
          "amountReference": "PaymentItem1", 
          "description": "951900;Tims 6.2;4444;1002", 
          "itemCode": "base", 
          "name": "salesDeposit" 
         } 
        ] 
       }, 
       "Required": "true", 
       "RoundDecimalPlaces": "2" 
      } 
     ], 
"numberTabs": [{ 
       "FontColor": "DarkRed", 
       "IsPaymentAmount": "true", 
       "Locked": "true", 
       "TabLabel": "PaymentItem1", 
       "Value": "2500.00" 
      } 
     ] 

Si vous voyez ci-dessus Structure JSON, il a deux onglets, Formule et Onglet Numéro et l'onglet Formule utilise la référence de l'onglet Numéro. Dans ce cas, il se réfère à PaymentItem1. Espérer au-dessus de JSON résoudra votre problème.

+0

Merci, oui, je suis en mesure d'utiliser le paiement via l'application web, mais en difficulté dans l'utilisation de l'API. J'ai été en mesure de tout faire fonctionner en utilisant API, mais, le montant du paiement a été fixé et j'ai besoin d'être saisi via API. –

+0

J'ai essayé d'utiliser la technique 'amountReference' que vous avez mentionnée ci-dessus, mais je n'ai pas compris comment créer un' numberTab' via l'application web. Tout ce que je vois est 'text' ou' formula', j'ai donc essayé d'utiliser un 'text' et je l'ai formaté comme un nombre. Est-ce exact? –

+0

Etes-vous en mesure de voir l'onglet Élément de paiement sur la page de marquage à l'aide de WEBApp? et utilisez-vous les nouveaux paiements DocuSign? –

0

Grâce à Amit K Bist, cela a permis de mettre à jour un onglet payment item après l'avoir déposé dans un modèle.

Lors de la création d'un modèle, ajoutez votre article de paiement, sélectionnez « Signataire Entrée » option sous le montant du paiement et de mettre une valeur de 0.

capturer ensuite l'étiquette de données de l'instrument de paiement. Il devrait ressembler à ceci: PaymentCustom 5e7e552c-2d0e-4364-b4d2-bb1784330191

Ensuite, ajoutez ceci à votre corps de la requête:

"<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">" + 
    "<status>sent</status>" + 
    "<emailSubject>Turner Pest Control - Termite Bond Quote</emailSubject>" + 
    "<templateId>" + templateId + "</templateId>" + 
    "<templateRoles>" + 
     "<templateRole>" + 
      "<name>" + custName + "</name>" + 
      "<email>" + custEmail + "</email>" + 
      "<roleName>Customer</roleName>" + 
      "<tabs>" + 
       "<numberTabs>" + 
        "<number>" + 
         "<fontColor>DarkRed</fontColor>" + 
         "<locked>true</locked>" + 
         "<tabLabel>PaymentCustom 5e7e552c-2d0e-4364-b4d2-bb1784330191</tabLabel>" + 
         "<value>" + txtPayment + "</value>" + 
        "</number>" + 
       "</numberTabs>" + 
      "</tabs>" + 
     "</templateRole>" + 
    "</templateRoles>" + 
"</envelopeDefinition>"; 

Comment un élément de paiement se transforme en un onglet nombre est au-delà de moi, mais ça marche!

Je suis encore en train de mettre à jour les détails de paiement via l'API. Obtenir une erreur Card declined donc je ne peux pas confirmer si les détails de paiement sont mis à jour.

+0

Mise à jour: J'ai contourné l'erreur Carte refusée en utilisant un numéro de carte de crédit Stripe test https://stripe.com/docs/testing#cards –