调至内容部分
创建账户
或
登录
Stripe 文档徽标
/
询问人工智能
创建账户
登录
开始
付款
销售收入
平台和交易市场
资金管理
开发人员资源

添加外部支付方式

将外部支付方式添加到 Mobile Payment Element。

注意

我们创建了一个自定义支付方式功能,该支付方式允许您将支付集成扩展到 Stripe 之外处理。我们建议将它用于您的集成,而不是外部支付方式。

除通过 Stripe 处理的支付方式外,Mobile Payment Element 还可以显示您支持的外部支付方式。集成外部支付方式需要额外的集成工作,因为外部支付方式交易是在 Stripe 外部处理和最终确定的。

外部支付方式责任

当客户选择外部支付方式时,您的应用程序会处理付款,不是 Stripe 处理。要了解您的责任和外部支付方式的持续可用性,请参阅外部支付方式免责声明。

本指南使用 Payment Sheet 接受应用内支付指南添加外部支付方式 Fawry。查看所有可用的外部支付方式列表。

开始前

  1. 创建 Stripe 账户或登录。
  2. 按照支付表单示例完成支付集成。
  3. 对于您要添加的每种外部支付方式,请完成其集成,并确认它可以在您要启用它的地区正常工作。

添加外部支付方式类型

当您创建 PaymentSheet.Configuration 对象并初始化 PaymentSheet 时,请指定要添加到 Payment Element 的外部支付方式以及用于完成付款的处理程序。此示例中添加的是 Fawry:

import StripePaymentSheet class MyCheckoutVC: UIViewController { func setUpPaymentSheet() { // ... var configuration = PaymentSheet.Configuration() configuration.externalPaymentMethodConfiguration = .init( externalPaymentMethods: ["external_fawry"] ) { externalPaymentMethodType, billingDetails, completion in self.handleExternalPaymentMethod(type: externalPaymentMethodType, billingDetails: billingDetails, completion: completion) } // ... } func handleExternalPaymentMethod(type: String, billingDetails: STPPaymentMethodBillingDetails, completion: @escaping (PaymentSheetResult) -> Void) { // ...explained in the next step } }

完成付款

当客户使用外部支付方式点击 PaymentSheet 中的购买按钮时,它会调用具有类型(例如“external_fawry”)、收集的任何账单详情和完成处理程序的处理程序。

您实施的集成应用完成付款(例如,通过使用外部支付方式提供商的 SDK),并使用付款结果调用完成处理程序:completed、canceled 或 failure(error:)。

如果传递 .failure(error:),则 PaymentSheet 使用 Swift 错误的 errorDescription 和 NSErrors 的 localizedDescription 显示错误。

import StripePaymentSheet class MyCheckoutVC: UIViewController { func setUpPaymentSheet() { // ... var configuration = PaymentSheet.Configuration() configuration.externalPaymentMethods = .init( externalPaymentMethods: ["external_fawry"] ) { [weak self] externalPaymentMethodType, billingDetails, completion in self?.handleExternalPaymentMethod(type: externalPaymentMethodType, billingDetails: billingDetails, completion: completion) } // ... } func handleExternalPaymentMethod(type: String, billingDetails: STPPaymentMethodBillingDetails, completion: @escaping (PaymentSheetResult) -> Void) { // Your implementation should complete the payment with the payment method provider // When the payment completes, cancels, or fails, call the `completion` handler // Note you can present on top of PaymentSheet by using the `self.presentedViewController`. // This example code just immediately fails: let exampleError = NSError(domain: "MyErrorDomain", code: 0, userInfo: [NSLocalizedDescriptionKey: "Failed to complete payment!"]) completion(.failed(error: exampleError)) } }

可选定位外部支付方式

测试您的集成

  1. 浏览结账流程,并验证 Payment Element 是否显示 Fawry。本示例将 Fawry 配置在银行卡之后的第二个位置。
    添加 Fawry 时的 Payment Element
  2. 选择 Fawry 支付方式。
    选择 Fawry 时的 Payment Element
  3. 点击立即付款,测试您现有的 Fawry 集成。验证您的集成是否完成了交易,以及任何付款后操作(例如,显示确认页面、成功消息或失败消息)是否仍适用于您的 Fawry 集成。

管理平台注意事项

交易的 PaymentIntents 在 Stripe 管理平台中显示为 incomplete 状态。Stripe 不参与外部支付方式的交易,因此无法确定这些交易的状态。

如果您收集支付详情后再创建 Intent,则不会在 Stripe 管理平台中看到任何使用外部支付方式提供者处理的交易的 incomplete 交易。

外部支付方式免责声明

您可以使用 Stripe Mobile Payment Element 显示一些 Stripe 不支持但您直接集成的外部支付方式。当客户选择外部支付方式时,您的应用将完成交易,而不是 Stripe Mobile Payment Element。您承认:

  1. 外部支付方式并非由 Stripe 提供或支持。外部支付方式的运营和支持由外部支付方式提供商提供。
  2. 您有责任与外部支付方式提供商保持直接集成。
  3. 您需要与外部支付方式提供商保持达成协议,并负责遵守与每个外部支付方式提供商的协议。
  4. 您有责任按照本文档中的说明,获得在结账流程中使用外部支付方式提供商的商标和徽标的所有必要权利。
  5. Stripe 不对与任何外部支付方式提供商的交易处理负责,包括但不限于任何收费、退款、争议、结算或资金流动。
  6. 在客户选择某种外部支付方式后,您或该外部支付方式提供商有责任完成购买流程,例如订单确认和订单对账。
  7. 您有责任为外部支付方式正确配置重定向 URL。
  8. 如果您与任何外部支付方式提供商的协议终止或 Stripe 停止提供某外部支付方式,您必须立即删除该外部支付方式。
  9. 您只能集成并在 Payment Element 中展示本指南中列出的外部支付方式。
  10. 您全权负责确保买家被正确重定向到买家选择的外部支付方式。

外部支付方式的持续可用性

Stripe 可能随时决定将任何支付方式停止作为外部支付方式提供。Stripe 会通知您要停用您使用的任何外部支付方式,您必须立即从代码中删除该外部支付方式。否则,该外部支付方式将无法向您的客户显示。

可用的外部支付方式

您可以显示以下外部支付方式。您必须在代码中使用相应的外部支付方式类型。

区域支付方式外部支付方式类型
AMERInteracexternal_interac
亚太地区au PAYexternal_au_pay
亚太地区atoneexternal_atone
亚太地区Touch’n Goexternal_tng_ewallet
亚太地区ソフトバンクまとめて支払い (Softbank carrier payments)external_softbank_carrier_payment
亚太地区Toss Payexternal_toss_pay
亚太地区Laybuyexternal_laybuy
亚太地区Bank Payexternal_bank_pay
亚太地区auかんたん決済 (au easy payments)external_au_easy_payment
亚太地区BitCashexternal_bitcash
亚太地区Azupayexternal_azupay
亚太地区d払い (d-barai)external_dbarai
亚太地区FamiPayexternal_famipay
亚太地区GCashexternal_gcash
亚太地区GrabPay Laterexternal_grabpay_later
亚太地区MoMoexternal_momo
亚太地区NET CASHexternal_net_cash
亚太地区Octopusexternal_octopus
亚太地区Paidyexternal_paidy
亚太地区PayPayexternal_paypay
亚太地区PlanPayexternal_planpay
亚太地区ペイジー (Pay-easy)external_pay_easy
亚太地区楽天ペイ (Rakuten Pay)external_rakuten_pay
亚太地区メルペイ (Merpay)external_merpay
亚太地区WebMoneyexternal_webmoney
APAC、欧洲Shopback Payexternal_shopback_pay
欧洲Aplazameexternal_aplazame
欧洲Bizumexternal_bizum
欧洲Dividoexternal_divido
欧洲Fonixexternal_fonix
欧洲Iwocapayexternal_iwocapay
欧洲KBCexternal_kbc
欧洲Nexi Payexternal_nexi_pay
欧洲Oneyexternal_oney
欧洲Payconiqexternal_payconiq
欧洲PayPoexternal_paypo
欧洲Sofincoexternal_sofinco
欧洲Postepayexternal_postepay
欧洲PostFinanceexternal_postfinance
欧洲Scalapayexternal_scalapay
欧洲TrueLayerexternal_truelayer
欧洲Walleyexternal_walley
欧洲YounitedPayexternal_younited_pay
全球LINE Payexternal_line_pay
全球paysafecardexternal_paysafecard
全球Samsung Payexternal_samsung_pay
全球Sezzleexternal_sezzle
拉丁美洲Dappexternal_dapp
拉丁美洲PicPayexternal_picpay
MEATabbyexternal_tabby
MEA好处external_benefit
MEAFawryexternal_fawry
此页面的内容有帮助吗?
是否
需要帮助?联系支持。
加入我们的早期使用计划。
查看我们的更改日志。
有问题?联系销售。
LLM? Read llms.txt.
Powered by Markdoc