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

Redefinition of BasicCardResponse to address Issue 9 #25

Closed
wants to merge 5 commits into from
Closed

Redefinition of BasicCardResponse to address Issue 9 #25

wants to merge 5 commits into from

Conversation

mattsaxon
Copy link
Contributor

Also revised property names for nameOnCard, pan and securityCode to be
more descriptive and consistent.

mattsaxon added 2 commits March 4, 2016 17:45
Also revised property names for nameOnCard, pan and securityCode to be
more descriptive and consistent.
@mattsaxon mattsaxon closed this Mar 5, 2016
@mattsaxon mattsaxon reopened this Mar 5, 2016
@mattsaxon mattsaxon closed this Mar 5, 2016
@mattsaxon mattsaxon reopened this Mar 5, 2016
@zkoch
Copy link
Contributor

zkoch commented Mar 10, 2016

Thanks, Matt. I just noticed that in the response we still don't have anything that indicates the scheme. Do we want to have this returned explicitly? Or should we rely on merchants using the BIN to figure it out?

@mattsaxon mattsaxon closed this Mar 11, 2016
@mattsaxon
Copy link
Contributor Author

@zkoch isn't the scheme represented as the methodName is the PaymentResponse object? I presume this would come from the Payment Method Identifer and I've added to the list of these in the basic card payment spec in this pull request

@mattsaxon mattsaxon reopened this Mar 11, 2016
@mattsaxon
Copy link
Contributor Author

@zach, though we do need to discuss what happens for extensions to basic card details, e.g. tokenisation. I need to review Adrian's proposals and will get back to you post reading those

<tr><td>maestro</td><td>Maestro</td></tr>
<tr><td>diner</td><td>Diners Club</td></tr>
<tr><td>jcb</td><td>JCB</td></tr>
</table>
</section>
Copy link
Collaborator

Choose a reason for hiding this comment

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

I suggest we namespace these for this payment method because it's quite possible (likely) that we'll have a "tokenized card payments" or "encrypted card payments" spec pretty soon.

<tr><td>basic-card-visa</td><td>Visa (Credit, Debit, Delta or Electron)</td></tr>
<tr><td>basic-card-mastercard</td><td>MasterCard and EuroCard</td></tr>
<tr><td>basic-card-amex</td><td>American Express</td></tr>
<tr><td>basic-card-discover</td><td>Discover</td></tr>
<tr><td>basic-card-maestro</td><td>Maestro</td></tr>
<tr><td>basic-card-diners</td><td>Diners Club</td></tr>
<tr><td>basic-card-jcb</td><td>JCB</td></tr>

@mattsaxon
Copy link
Contributor Author

Let me have a think on that, there was talk of a hierarchical naming too rather than the flat structure you're suggesting, perhaps "card.plain.visa", "card.encrypted.visa", "card.token.visa". I'll read Adrian B's proposals and comment further

@adrianhopebailie
Copy link
Collaborator

That could work but I think we can't enforce something like that I don't think. What would Bitcoin be for example? "cryptocurrency.bitcoin"?

@mattsaxon
Copy link
Contributor Author

I read Adrian B's proposal now, so appreciate we need the domain name in there to make the minting feasible outside of w3c, my examples were effectively shortnames, but I appreciate my use of the dotted naming made it unclear.

Using Adrian's Option 1 as a template, here are some examples

visa.com/card/plain
visa.com/card/tokenised
mastercard.com/card/plain
worldpay.com/tokenised
w3.org/card/visa/plain
bitcoin.org/V1

visa/plain would be the shortname for http://w3.org/card/visa/plain

@adrianhopebailie
Copy link
Collaborator

I'm less concerned about the format and more that we don't spread the idea that "Visa" is a good example of payment method identifier. That's an important point to come to consensus on (we started drilling into it late in the afternoon at the F2F).

Payment Method Identifiers (PMI) serve 2 purposes so their design must consider both:

  1. To indicate request and response message format for the interactions between the website, browser and payment app. A single specification of these message formats could apply to a set of many payment method identifiers (as is evidenced in this spec).
  2. To indicate specifically which underlying payment instruments (brands) are supported by the website. i.e. A merchant can process card payments but might not accept all card brands.

From an architectural perspective one could think of PMIs as foreign keys that provide a many-to-many link between payment instruments and the messaging protocols that can be used to pass payment data back and forth for those instruments.

I can imagine people minting new PMIs for two reasons:

  1. They have developed a new messaging protocol and have documented it in a specification like this one and need to provide PMIs that link payment instruments that can be used with this protocol to the protocol.
  2. They have a payment instrument that can be used with an existing messaging protocol and so they mint a PMI that they get added to the list of supported PMIs in the existing protocol's spec.

@burdges
Copy link

burdges commented Mar 11, 2016

I suppose "Verified By Visa" is an actual PMI though, no?

@adrianhopebailie
Copy link
Collaborator

I suppose "Verified By Visa" is an actual PMI though, no?

Could be, if there is a message protocol spec for how it would work using the browser API

@mattsaxon
Copy link
Contributor Author

@adrianhopebailie, I agree that visa is not a good PMI without some namespacing, it is a good example of a "brand" though and the naming does to some extent have the brand as a separately identifiable part of the PMI.

Are you not happy that my examples are reasonable PMIs?

@mattsaxon
Copy link
Contributor Author

Verified By Visa is the 3DS implementation of Visa's, depending on the implementation, it could be done in various ways, but if we want the payment application to support it, we would need either new PMI defined, or an extension to the BasicCardResponse that allowed for additional authentication data to be added.

@adrianba
Copy link
Contributor

Merged as 0469d92 for further discussion in #9.

@adrianba adrianba closed this Mar 12, 2016
@mattsaxon
Copy link
Contributor Author

Added UnionPay as PR 90

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.

None yet

5 participants