Skip to content

where type values of the transaction data and content specific to that type should be defined #168

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

Open
Sakurann opened this issue May 7, 2024 · 5 comments

Comments

@Sakurann
Copy link
Collaborator

Sakurann commented May 7, 2024

related to #156.

  1. there have been conflicting comments whether type values should be "open-ended" so that e.g. each open banking jurisdiction for authorization of payments or data sharing and include attributes that are part of the consent grant and are need to be displayed to the end user or "strictly defined".
  2. there have been different views whether those type values and the content of the transaction data object should be defined in OpenID4VP spec? in DCP WG? in each industry organization?
@Sakurann Sakurann transferred this issue from openid/OpenID4VCI May 7, 2024
@Sakurann
Copy link
Collaborator Author

copying @selfissued 's comment here as the original issue #156 is now pending close

I have two comments about the mechanisms proposed in the first draft:

  1. We are not payment schema experts. Therefore, we should not invent payment schemas and put them into our specification. Rather, we should recommend the use of payment schemas developed by payment experts. Talking to some actual payment experts, they caution me that even if we were to come up with a perfect payment schema today, it would be out of date in a year, as new payment and interchange modalities and regulations unfold. Rather than spending our time inventing a schema, we should spend our time researching and recommending payment schemas that are being actively maintained by experts in that industry.
  2. Our specification should use a consistent set of conventions and mechanisms. Those employed by the > https://cloudsignatureconsortium.org/wp-content/uploads/2023/04/csc-api-v2.0.0.2.pdf are quite different than those employed by OAuth and OpenID specs. A needless difference, for instance is the use of base64 rather than base64url encoding of data. And the use of OIDs outside of X.509 certificates is also very strange. Let's use consistent conventions in our spec, rather ones borrowed from unaligned specifications.

@selfissued
Copy link
Member

Here's some examples of payment standards we may want to be able to utilize. They cover both Account-to-Account (A2A) and Card standards, along with local standards:

ISO20022 (A2A), e.g.:

Berlin Group NextGenPSD2 XS2A Framework NextGenPSD2 Framework - Implementation Guidelines (berlin-group.org)

Open Banking UK Specifications - Developer Zone - Confluence (atlassian.net), including FAPI
Request 2 Pay UK (Bill Payments)

EMVCo (Cards), e.g.:

3D Secure https://en.wikipedia.org/wiki/3-D_Secure
Secure Payments Confirmation (Web Payments) https://w3c.github.io/secure-payment-confirmation/

There are other local standards that will matter in some jurisdictions, e.g.:

UPI (India)
https://www.npci.org.in/PDF/npci/upi/Product-Booklet.pdf

@javereec
Copy link
Contributor

I enquired with Steve Pannifer and Neil McEvoy from Consult Hyperion who have a lot of experience in payments industry. Below is the initial feedback that they gave.


It is important to distinguish between card payments and A2A payments. They work very differently.

Card payments are “pull” payments. The consumer provides card details to the merchant who then “pulls” the payment from the issuer. Two potential issues with card payments that immediately come to mind:

  • PCI: It could bring the wallet into PCI scope (unless PAN tokenisation is done by the wallet)
  • SCA: Today SCA is typically done by the issuer (via the 3DS rails). The card payment schemes allow for ‘Delegated Authentication’ to carried out by the merchant where there is an established relationship between the merchant and consumer, and the merchant (via its acquirer) has satisfied the scheme that it has a sufficiently robust authentication process and uses network tokens (i.e. provided by the scheme) to avoid storage of PANs. SCA by the issuer is not required in this case. So this addresses the situation where the merchant is also the wallet issuer and it’s a “Card On File” transaction, but does not address the user wanting to pay with a non-merchant wallet or for one-off payments.

Other things to look at with regard to card payments include:

  • ApplePay and GooglePay integration of wallet into ecomm checkouts which are proprietary. They are based on EMV although not exactly.
  • EMV SRC (Secure Remote Commerce) although adoption of that has been pretty slow.

A2A payments are “push” payments. The merchant provides their bank details to the consumer, who then instructs their bank to “push” the payment to the merchant’s bank account. This does not seem to fit neatly with idea of wallet presenting payment credentials to a merchant. Perhaps if the wallet doubled up as a PISP in PSD2 terminology (payment initiation service provider) then it could invoke a payment and then present a confirmation credential back to the merchant. This would require the wallet to be certified as a TPP under PSD2. There may be UX issues too. The payment would not really be coming from the wallet – the consumer would need to authenticate to their bank and approve the payment, which potentially could occur in the wallet or out of band.

@cyberphone
Copy link

cyberphone commented Sep 9, 2024

@Sakurann Sakurann added this to the Final 1.0 milestone Dec 5, 2024
@Sakurann Sakurann modified the milestones: Final 1.0, 1.1 Jan 20, 2025
@Sakurann
Copy link
Collaborator Author

changing milestone to 1.1 since this is not a breaking change and can be done after 1.0

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

No branches or pull requests

4 participants