Maison  >  Questions et réponses  >  le corps du texte

Transférez les dépôts de l'application PHP vers le bureau Quickbooks à l'aide de Conolibyte Quickbooks PHP DevKit : surmonter les défis

J'implémente le DevKit PHP QuickBooks de Keith Palmer (https://github.com/conolibyte/quickbooks-php/) afin que mon application PHP puisse transmettre des données à Quickbooks Desktop via le connecteur Web Quickbooks. J'ai rencontré quelques problèmes en raison de modifications apportées à PHP et Quickbooks. Désormais, l'exemple d'application de connecteur Web fonctionne correctement et transmet avec succès les clients à Quickbooks.

Mon objectif actuel est de simuler via PHP ce qui se fait dans Quickbooks avec un processus relativement simple :

Banque -->Utilisez S'inscrire (sélectionnez un compte) et saisissez le montant du paiement ou du dépôt, le compte, le mémo et l'historique des clics.

Je pense que cela (au moins la partie dépôt) peut être fait via DepositAddRq en utilisant la méthode QUICKBOOKS_ADD_DEPOSIT dans PHP DevKit. Maintenant, je réécris le contenu pour utiliser cette méthode et j'obtiens l'erreur suivante :

3180 : Une erreur s'est produite lors de l'enregistrement de la ligne de dépôt. Message d'erreur QuickBooks : le numéro d'enregistrement donné ne figure pas dans la liste de paiement de dépôt.

Le serveur SOAP génère le XML suivant :

<?qbxml version="2.0"?>
        <QBXML>
            <QBXMLMsgsRq onError="stopOnError">
                <DepositAddRq requestID="19">
                    <DepositAdd>
                        <DepositToAccountRef>
                            <FullName>test account</FullName>
                        </DepositToAccountRef>
                        <Memo>Memo</Memo>
                        <DepositLineAdd>
                            <PaymentTxnID>3D95-1071497093</PaymentTxnID>
                        </DepositLineAdd>
                    </DepositAdd>
                </DepositAddRq>
            </QBXMLMsgsRq>
        </QBXML>

J'ai reçu une réponse XML de Quickbooks :

<?xml version="1.0" ?>
<QBXML>
<QBXMLMsgsRs>
<DepositAddRs requestID="19" statusCode="3180" statusSeverity="Error" statusMessage="保存存款行时出错。  QuickBooks error message: The given record number is not in the Payments to Deposit list." />
</QBXMLMsgsRs>
</QBXML>

J'obtiens la même erreur lors de la transmission de l'exemple de code XML QuickBooks SDK 15 pour DepositAddRq :

<QBXMLMsgsRq onError="stopOnError">
<DepositAddRq requestID="0">
<DepositAdd>
<DepositToAccountRef>
<FullName>Checking</FullName>
</DepositToAccountRef>
<DepositLineAdd>
<PaymentTxnID>3D95-1071497099</PaymentTxnID>
</DepositLineAdd>
</DepositAdd>
</DepositAddRq>
</QBXMLMsgsRq>
</QBXML>

Dois-je utiliser une méthode complètement différente pour enregistrer les dépôts et les paiements sur mon compte, des étapes supplémentaires sont-elles nécessaires ou est-ce que je le fais complètement mal ?

Merci d'avance !

P粉481035232P粉481035232257 Il y a quelques jours405

répondre à tous(1)je répondrai

  • P粉523335026

    P粉5233350262024-01-11 00:47:25

    C'est un peu délicat, mais si vous regardez la documentation, vous pouvez voir ce qu'il veut :

    Veuillez consulter cette section pour plus de détails :

     
            
                    IDTYPE 
                    IDTYPE 
                    STRTYPE 
                    STRTYPE 
                     
                            IDTYPE 
                            STRTYPE 
                    
            
                     
                            IDTYPE 
                            STRTYPE 
                    
                     
                            IDTYPE 
                            STRTYPE 
                    
                    STRTYPE 
                    STRTYPE 
                     
                            IDTYPE 
                            STRTYPE 
                    
                     
                            IDTYPE 
                            STRTYPE 
                    
                    AMTTYPE 
            
    

    Cela signifie que vous pouvez ou fournir un lien de paiement () )或者您可以提供以下链接一个帐户 (ou

    vous pouvez fournir le lien suivant vers un compte ().

    Ce que vous décrivez dans votre message et ce que vous montrez dans le XML sont deux choses différentes. Dans le XML, vous essayez de créer un lien vers un paiement non déposé existant

    (par exemple, vous essayez de marquer un paiement existant comme déposé) :

    3D95-1071497099

    Mais ce que vous décrivezsontdes comptes et des mémos désignés

     :

    ... (Select Account), and entering either a Payment or a Deposit amount, an Account, a Memo, and Clicking Record.
    Si vous essayez de simuler la saisie d'un compte, d'un mémo, etc., alors vous devrez fournir du XML pour spécifier le compte, le mémo, etc. Par exemple, comme indiqué ci-dessous : 🎜
    
    
    
            
                    
                            
                                    
                                            Your Bank Account
                                    
    
                                    
    
                                            
                                                    Account Name Here
                                            
                                            Memo test
    
                                            100.00
                                                    
                                    
                            
    
                    
            
    

    répondre
    0
  • Annulerrépondre