stellar / stellar-protocol

Developer discussion about possible changes to the protocol.
517 stars 303 forks source link

SEP-24: Configure fees by payment method #1396

Closed jopmiddelkamp closed 11 months ago

jopmiddelkamp commented 1 year ago

What problem does your feature solve?

We have anchors who support multiple payment methods. For example: bank, cash, credit card, Google Pay, Apple Pay, etc..

What would you like to see?

I would like to define some payment methods maybe to start with:

bank, cash, credit card, Google Pay, Apple Pay

Then allow users to start a SEP-24 transaction with also providing this payment method so that the user can make the choice for the payment method in the client and the client can show the corresponding fee:

"deposit": {
  "NGNC": {
    "bank": {
      ..
    },
    "credit_card": {
      ..
    },
    "apple_pay": {
      ..
    },
    "google_pay": {
      ..
    },
    ..
  }
},

What alternatives are there?

I don't think there are any alternatives at this moment.

Ifropc commented 11 months ago

Hi @jopmiddelkamp , we recently introduced SEP-38 quote API in the SEP-24 protocol (#1358) The SEP-38 GET /price API (https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0038.md#get-price) accepts sell_delivery_method and buy_delivery_method in the request. Example of the request:

GET /price?sell_asset=iso4217:BRL&buy_asset=stellar:USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN&sell_amount=500&sell_delivery_method=PIX&country_code=BRA&context=sep6

(See SEP-38 protocol for more details) The anchor can define available sell and but delivery methods in the GET /info response. In practice, that means that a wallet could call /prices endpoint prior to starting interactive flow to fetch exchange ratio and fees, that can vary depending on the payment method.

I will close the issue, if you think it doesn't cover your use case please feel free to reopen it.