Skip to content

Conversation

@thomash-acinq
Copy link
Member

No description provided.

}
}

data class CardPaymentRequest(val tlvs: TlvStream<OfferTypes.OfferTlv>) : OnionMessagePayloadTlv() {
Copy link
Member Author

Choose a reason for hiding this comment

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

@robbiehanson in your last email you wrote that CardPaymentRequest includes an Invoice. I think it makes more sense to include an Offer and reuse the existing offer payment pipeline.
I'll let you add the authentication data from the card.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think it makes more sense to include an Offer and reuse the existing offer payment pipeline.

The community does NOT want to go this route.

One of the most important benchmarks for card payments is speed. If the CardPaymentRequest directly includes an invoice, then the entire process is only 2 steps (send CardPaymentRequest, receive payment). Changing this to an offer increases the process to 4 steps, thus doubling the payment time.

Also, a lot of software is built on top of LND, and LND doesn't have full Bolt 12 support yet. So the community is asking for flexibility. Specifically, they want CardPaymentRequest to support sending either a Bolt 12 or 11 invoice.

I have a branch called card-payment which has a working proof-of-concept. But the spec is still very much a work in progress. So I was hoping to avoid dealing with the CardPaymentRequest details in this PR. Is it possible to skip including this for now, and circle back to it in a later PR ?

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.

3 participants