Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add methode to define an offset on OrderId #208

Open
wants to merge 2 commits into
base: 2.x
Choose a base branch
from

Conversation

benjamin-si
Copy link

Add possibility to set an offset on orderId from EbicsClient Object.

To be used for certain banks that require the orderId to be incremented to get around an erroneous initialization call.

@benjamin-si benjamin-si changed the title Add methode to set define an offset on OrderId Add methode to define an offset on OrderId Feb 13, 2025
*
* @return string
*/
public function generateOrderId(string $partnerId): string
public function generateOrderId(string $partnerId, int $offset = 0): string
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe it will be Okay just to change logic for generateOrderId without option to impact on algo by pass offset.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andrew-svirin I'm not sure I understand, the idea would be to pass another value than the partner ID?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean just change previous logic to a new one. If it works with your bank and If tests will pass, then it will single correct variant for generation OrderId and no need to adopt different algorithms for different banks.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, but the purpose is to be able to change this number. The banks block the orderId in case of failure on a call INI for example. It's seem to be a general case.
To make another you have to change this orderID. I don't see how I could change the logic of the orderId without passing an offset.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@benjamin-si would it work if you make default logic with offset?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or maybe just manual define a orderId, it will be easier

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add to algorith dependency on current time? To be sure that next time it will generate a new value?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but you need the same orderId on an INI and HIA call. If it is made separately, it could generate two different orderId.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, As I remember INI and HIA does not require to have he same orderId. But I will check it in specification.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found only this information. Take in account that if you abort transaction without acknowladge, then this orderId can be hanged for some time.

зображення

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants