Què diu GoCardless
| Esdeveniment | Codis | Text de GoCardless |
|---|---|---|
| payments · failed | AC01, BE06 | The bank account specified does not exist. The mandate will also be cancelled. |
| mandates · failed | AC01 | The bank account specified does not exist. Any subscriptions and pending payments will also be cancelled. |
| mandates · cancelled | AC01, BE06 | The bank account specified does not exist. Any subscriptions and pending payments will also be cancelled. |

Quan apareix
Depèn de quan ho descobreix el banc. Si rebutja el mandat en donar-lo d'alta, GoCardless el marca com a fallit (mandates · failed) i mai no arriba a cobrar-se res. Si el mandat ja estava actiu i el primer cobrament rebota amb AC01 o BE06, el pagament falla i GoCardless cancel·la el mandat (mandates · cancelled), juntament amb els pagaments pendents d'aquest mandat.
En els dos casos l'arranjament és el mateix: el client ha de tornar a signar amb un compte que existeixi.
Què fa Odoo amb el connector
El connector reacciona a cada esdeveniment per separat, i convé saber què fa cadascun:
- El pagament fallit posa la transacció en error amb «GoCardless could not collect this payment (invalid_bank_details).». Si la factura ja estava pagada amb aquest cobrament, anul·la el pagament i la factura torna a estar pendent.
- L'esdeveniment del mandat, fallit o cancel·lat, és el que el retira: el connector dona per morts els mandats en aquests estats, arxiva el mètode de pagament, escriu a la fitxa del client que el mandat ja no es pot usar i crea l'activitat «GoCardless mandate lost».
Aquests textos els escriu el connector en aplicar l'esdeveniment, sense ningú al davant. El connector no està traduït al català: aquests textos surten sempre en anglès, també en un Odoo en català, tant si els llança un usuari com una tasca programada: «GoCardless could not collect this payment (invalid_bank_details).» i «GoCardless mandate lost».
El pagament fallit per si sol no arxiva el mandat: invalid_bank_details no és de les quatre causes amb què el connector ho fa en rebre un pagament. L'arxiva l'esdeveniment del mandat, que GoCardless envia sempre en aquest cas. Si es perdés pel camí, la tasca que cada hora recupera els esdeveniments perduts ho portarà.
La transacció s'obre des de la factura, amb el botó «Transacció de pagament» de dalt; el menú de transaccions només surt en mode desenvolupador, i a Odoo 20 no existeix. Mentre el mandat no estigui arxivat a Odoo, la transacció en error mostra el botó «Retry collection», però no serveix de res. GoCardless només reintenta un pagament si el seu mandat és actiu, i amb AC01 o BE06 el cancel·la. Si el prems i GoCardless el rebutja, el connector consulta el mandat i, si està mort, l'arxiva i ho diu a la transacció: «The customer's GoCardless mandate is …, so it cannot be charged. Ask the customer for a new mandate.». Amb el mandat arxivat, el botó deixa de sortir.
Què cal fer
- Comprova amb el client l'IBAN complet: un dígit canviat basta perquè el compte no existeixi.
- Demana-li que signi un mandat nou amb el compte correcte. Serà un mètode de pagament nou a Odoo.
- Cobra-li les factures que hagin quedat pendents; les que GoCardless ha cancel·lat no es presentaran soles.
- Si el client assegura que l'IBAN era correcte, que ho consulti amb el seu banc: AC01 i BE06 són la resposta del seu banc, no de GoCardless. A Odoo només veuràs la causa, perquè el connector no guarda el codi SEPA. Segons el centre d'ajuda de GoCardless, el motiu de cada fallada surt a la cronologia del pagament, al Dashboard («You are able to view the reason for a payment failure in the status timeline of the payment in your GoCardless dashboard.»).

Per què hi ha dos codis, AC01 i BE06?
GoCardless els agrupa sota la mateixa causa i el mateix text per a SEPA Core. Per a tu la conseqüència és idèntica: amb aquest compte no es pot cobrar, i cal una altra signatura.
Es pot corregir l'IBAN del mandat a Odoo?
No. El mandat és l'autorització que el client va signar amb aquest compte; el compte correcte va en un mandat nou.
Amb el nostre connector
A Odoo 17, 18, 19 i 20 el connector no deixa un mandat inservible a la vista per a la següent factura: el retira quan GoCardless el dona per fallit o cancel·lat, reobre el que calgui reobrir i deixa escrit a la fitxa del client què va passar.
Continua llegint
Comprovat al codi del connector (versió 17.0, 18.0, 19.0 i 20.0) i a les fonts enllaçades
Fonts
- Codi del mòdul: flexigo_payment_gocardless: const.py, línia 15 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: const.py, línia 76 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: const.py, línia 33 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: models/payment_token.py, línia 83 a 17.0 (d203ee6), línia 83 a 18.0 (e2ab18b), línia 83 a 19.0 (ce7f5a3) i línia 82 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: models/payment_token.py, línia 131 a 17.0 (d203ee6), línia 131 a 18.0 (e2ab18b), línia 131 a 19.0 (ce7f5a3) i línia 130 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 725 a 17.0 (d203ee6), línia 725 a 18.0 (e2ab18b), línia 724 a 19.0 (ce7f5a3) i línia 748 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 754 a 17.0 (d203ee6), línia 754 a 18.0 (e2ab18b), línia 753 a 19.0 (ce7f5a3) i línia 777 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: const.py, línia 117 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 442 a 17.0 (d203ee6), línia 442 a 18.0 (e2ab18b), línia 441 a 19.0 (ce7f5a3) i línia 456 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 436 a 17.0 (d203ee6), línia 436 a 18.0 (e2ab18b), línia 436 a 19.0 (ce7f5a3) i línia 438 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 1148 a 17.0 (d203ee6), línia 1148 a 18.0 (e2ab18b), línia 1148 a 19.0 (ce7f5a3) i línia 1155 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 495 a 17.0 (d203ee6), línia 495 a 18.0 (e2ab18b), línia 495 a 19.0 (ce7f5a3) i línia 497 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: __manifest__.py, línia 31 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
- docs.gocardless.com/docs/api-reference/events/payment
- docs.gocardless.com/docs/api-reference/events/mandate
- Codi del mòdul: flexigo_payment_gocardless: views/payment_transaction_views.xml, línia 13 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 63 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 418 a 17.0 (d203ee6), línia 418 a 18.0 (e2ab18b), línia 417 a 19.0 (ce7f5a3) i línia 432 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 1016 a 17.0 (d203ee6), línia 1016 a 18.0 (e2ab18b), línia 1016 a 19.0 (ce7f5a3) i línia 1031 a 20.0 (688d86b)
- docs.gocardless.com/docs/api-reference/payment
- Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 469 a 17.0 (d203ee6), línia 469 a 18.0 (e2ab18b), línia 468 a 19.0 (ce7f5a3) i línia 487 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 1233 a 17.0 (d203ee6), línia 1233 a 18.0 (e2ab18b), línia 1233 a 19.0 (ce7f5a3) i línia 1240 a 20.0 (688d86b)
- github.com/odoo/odoo/blob/17.0/odoo/http.py
- support.gocardless.com/hc/en-gb/articles/360001467265
- Codi del mòdul: flexigo_payment_gocardless: const.py, línia 66 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
- github.com/odoo/odoo/blob/20.0/addons/account_payment/views/account_move_views.xml
