Open ryan-lambert-IEX opened 7 months ago
Hi @ryan-lambert-IEX,
Thank you for opening this issue. I have opened a ticket internally to investigate the above and decide on what would the best approach be. We'll update the issue accordingly.
Kind regards, Rok
Thank you @RokPopov keen to hear your feedback on the preferred approach. We are happy to help contribute / submit a PR for solution.
Hi @ryan-lambert-IEX,
Thank you for your reply. We would be happy to review your contribution and iterate over it if necessary.
Kind regards, Rok
@RokPopov #2620 offers a simple solution; please review and let us know your thoughts. This would unblock us internally so appreciate it.
Hi @ryan-lambert-IEX,
Thank you for your contribution, it is highly appreciated. I left a comment on the PR itself, could you please take a look when you'll get a chance?
Kind regards, Rok
@RokPopov let me know what you think of the updated PR; happy to make tweaks as needed
Is your feature request related to a problem? Please describe. We are trying to pass in a tokenized
storedPaymentMethodId
to aguest-cart
checkout, and right now there doesn't appear to be a way to link theshopperReference
with the guest user. In the current plugin, theshopperReference
is either the customerID or a UUID, causing ourguest-cart
payment to fail, as there is no way to get or change theuuid
value prior to submission.For added context, we have a headless implementation which tokenizes card information by making a 0 dollar charge (per docs ). Our implementation handles raw credit card information (we are PCI certified) and we require our AdobeCommerce partners to submit a SAQ-A-EP and provision us with our own API key as to limit the scope of our tokenization flow.
We are trying to pass our tokenized payment data (we cannot pass raw card data, as this would break the PCI chain, nor can we use the AdyenJS library in our environment) to AdobeCommerce for submission. We use guest-carts since our flow collects payment information outside the usual "primary" store workflow.
Using the guest-cart flow as described above works great for Braintree and Stripe, but this
shopperReference
uuid seems to break our intended flow in our Adyen implementation.Describe the solution you'd like I think any of these things could fix this problem:
cartId
for theshopperReference
vs the currentorderId.uuid
you use nowshopperReference
value to be passed into thepaymentMethod.additional_data
which overrides the current behavioruuid
value prior to submission; can be attached to theguest-cart/${cartId}
Describe alternatives you've considered I understand why you use a uuid for guests, as the assumption probably is stored payment methods belong to "stored customers".
An alternative would be for Adyen to provide a way to get a single-use-payment-token like Braintree and Stripe vs. a stored payment method (with a shopperReference), but that change is probably far too great to hope for :]
Additional context Our website