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 !
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 :
Cela signifie que vous pouvez ou fournir un lien de paiement (
vous pouvez fournir le lien suivant vers un compte (
)
)或者您可以提供以下链接一个帐户 (
ou
).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é) :Mais ce que vous décrivezsontdes comptes et des mémos désignés
: