You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DebtorReference has to be maximal 35 characters long
TransactionID has to be alphanumeric and maximal 64 characters long and is set by the library by the first 28 characters of DebtorReference plus YYYYMMDD
PaymentReference has to be alphanumeric and maximal 35 characters long
So, given this example:
DebtorReference = "Website order 12345678";
The library is removing all the non-alphanumeric values from the DebtorReference (#20) (why?).
TransactionID will be "Websiteorder1234567820220906";
PaymentReference will be "Websiteorder12345678Websiteorder1234567820220906";
The PaymentReference is a combination of a max 35 long string and a max 36 long string, but can only be 35 chars long and will throw a validation error from the API.
Expected behaviour is that PaymentReference can be set by the implementation (and will be validated) or otherwise will be a valid generated value which meets the API requirements.
The text was updated successfully, but these errors were encountered:
bartbrouwer
changed the title
PaymentReferenc
PaymentReference is generated with an invalid value
Sep 6, 2022
Moreover, the sanitization has been moved from the DebtorReference (now only substring to 35chars) but added to the TransactionID.
If a PaymentReference is set by the application, the library does not use the fallback of a concatenated string.
When no PaymentReference is provided, DebtorReference and TransactionID are used as PaymentReference.
DebtorReference may contain whitespaces, PaymentReference don't.
Because of that, the PaymentReference should be sanitized. That's currentlty missing.
When I provide DebtorReference 'Payment 123' and no PaymentReference, I'll get an exception about the space.
When I provide DebtorReference with 35 characters and no PaymentReference, I'll get an exception about the length.
$this->paymentReference = "$this->debtorReference$this->transactionID";
DebtorReference has to be maximal 35 characters long
TransactionID has to be alphanumeric and maximal 64 characters long and is set by the library by the first 28 characters of DebtorReference plus YYYYMMDD
PaymentReference has to be alphanumeric and maximal 35 characters long
So, given this example:
DebtorReference = "Website order 12345678";
The library is removing all the non-alphanumeric values from the DebtorReference (#20) (why?).
TransactionID will be "Websiteorder1234567820220906";
PaymentReference will be "Websiteorder12345678Websiteorder1234567820220906";
The PaymentReference is a combination of a max 35 long string and a max 36 long string, but can only be 35 chars long and will throw a validation error from the API.
Expected behaviour is that PaymentReference can be set by the implementation (and will be validated) or otherwise will be a valid generated value which meets the API requirements.
The text was updated successfully, but these errors were encountered: