Ir a contenido
Crea una cuenta
o
Inicia sesión
Logotipo de Stripe Docs
/
Pregúntale a la IA
Crear una cuenta
Iniciar sesión
Empieza ahora
Pagos
Ingresos
Plataformas y marketplaces
Gestión del dinero
Recursos para desarrolladores

Agrega métodos de pago externos

Agrega métodos de pago externos al Mobile Payment Element.

Nota

Creamos una funcionalidad de métodos de pago personalizados que te permite ampliar tu integración de pagos con métodos de pago procesados fuera de Stripe. Te recomendamos que lo uses para la integración en lugar de los métodos de pago externos.

El Mobile Payment Element puede mostrar los métodos de pago externos que admites además de los métodos de pago procesados a través de Stripe. La integración de métodos de pago externos requiere más trabajo de integración, ya que las transacciones con métodos de pago externos se procesan y finalizan fuera de Stripe.

Responsabilidad de los métodos de pago externos

Cuando los clientes eligen un método de pago externo, tu aplicación gestiona el pago en lugar de que Stripe lo procese. Para conocer tus responsabilidades y la disponibilidad actual de métodos de pago externos, consulta la exención de responsabilidad sobre métodos de pago externos.

Mediante esta guía se agrega un método de pago externo, Fawry, con el ejemplo de la guía Acepta pagos dentro de la aplicación de Payment Sheet. Consulta la lista de todos los métodos de pago externos disponibles.

Antes de comenzar

  1. Crea una cuenta de Stripe o inicia sesión.
  2. Sigue el ejemplo de Payment Sheet para completar la integración de pagos.
  3. Para cada método de pago externo que quieras agregar, completa su integración y confirma que funciona en la región en la que quieres activarlo.

Agrega tipos de métodos de pago externos

Al crear el objeto PaymentSheet.Configuration e inicializar PaymentSheet, especifica los métodos de pago externos que deseas agregar al Payment Element y un controlador para completar el pago. En este ejemplo se agrega 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 } }

Completar el pago

Cuando el cliente pulsa el botón Comprar en PaymentSheet mediante un método de pago externo, llama al controlador con el tipo (por ejemplo, “external_fawry”), los detalles de facturación que se recopilaron y un controlador de finalización.

La implementación completa el pago (por ejemplo, mediante el SDK del proveedor de métodos de pago externo) y llama al controlador de finalización con el resultado del pago: completed, canceled o failure(error:).

Si pasas .failure(error:), PaymentSheet muestra el error usando errorDescription para los errores de Swift y localizedDescription para NSErrors.

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)) } }

OpcionalPosicionar métodos de pago externos

Prueba tu integración

  1. Revisa tu flujo de compra y verifica que el Payment Element muestre Fawry. En este ejemplo se configura Fawry en la segunda posición después de las tarjetas.
    El Payment Element cuando se agrega Fawry
  2. Elige el método de pago de Fawry.
    El Payment Element cuando se selecciona Fawry
  3. Haz clic en Pagar ahora para probar tu integración existente de Fawry. Verifica que tu integración complete la transacción y que todas las acciones posteriores al pago (por ejemplo, mostrar una página de confirmación, un mensaje de éxito o un mensaje de error) sigan funcionando con tu integración de Fawry.

Consideraciones sobre el Dashboard

Los PaymentIntents para transacciones procesadas con un proveedor de métodos de pago externo tienen un estado incomplete en el Dashboard de Stripe. Stripe no participa en transacciones de métodos de pago externos y no puede determinar el estado de estas transacciones.

Si recopilas los datos de pago antes de crear un Intent, no verás ninguna transacción incomplete en el Dashboard de Stripe para las transacciones que se procesaron con un proveedor de métodos de pago externo.

Descargo de responsabilidad sobre los métodos de pago externos

Puedes usar el Payment Element móvil de Stripe para mostrar algunos métodos de pago externos que no son compatibles con Stripe, pero con los que te integras directamente. Cuando los clientes eligen un método de pago externo, tu aplicación completa la transacción en lugar del Payment Element móvil de Stripe. Reconoces lo siguiente:

  1. Stripe no ofrece ni acepta métodos de pago externos. El funcionamiento y el soporte de los métodos de pago externos son proporcionados por el proveedor de métodos de pago externo.
  2. Eres responsable de mantener una integración directa con el proveedor de métodos de pago externo.
  3. Debes mantener un acuerdo con el proveedor de métodos de pago externo y eres responsable de cumplir tus acuerdos con cada proveedor de métodos de pago externo.
  4. Eres responsable de obtener todos los derechos necesarios para usar las marcas y los logotipos del proveedor de métodos de pago externo dentro de tu proceso de compra, como se describe en esta documentación.
  5. Stripe no es responsable del procesamiento de ninguna transacción con ningún proveedor de métodos de pago externo, incluidos, por ejemplo, cargos, reembolsos, disputas, liquidaciones o flujos de fondos.
  6. Tú o el proveedor de métodos de pago externo son responsables de completar el flujo de compra después de que un cliente haya seleccionado un método de pago externo, incluida, por ejemplo, la confirmación del pedido y la conciliación de los pedidos.
  7. Eres responsable de configurar correctamente la URL de redireccionamiento para el método de pago externo.
  8. Debes eliminar de inmediato los métodos de pago externos si se rescinden tus acuerdos con cualquier proveedor de métodos de pago externo o si Stripe elimina la disponibilidad de un método de pago externo.
  9. Solo se te permite integrar y presentar en el Payment Element los métodos de pago externos enumerados en esta guía.
  10. Eres el único responsable de asegurar que los compradores sean redirigidos correctamente al método de pago externo elegido.

Disponibilidad continua de métodos de pago externos

Stripe puede decidir en cualquier momento eliminar la disponibilidad de cualquier método de pago como método de pago externo. Stripe te notificará cualquier eliminación de un método de pago externo que estés usando, y deberás eliminar inmediatamente el método de pago externo en tu código. Si no lo haces, el método de pago externo no se entregará a tus clientes.

Métodos de pago externos disponibles

Puedes mostrar los siguientes métodos de pago externos. Debes usar el tipo de método de pago externo correspondiente en tu código.

RegiónMétodo de pagoTipo de método de pago externo
AMERInteracexternal_interac
APACau PAYexternal_au_pay
APACatoneexternal_atone
APACTouch’n Goexternal_tng_ewallet
APACソフトバンクまとめて支払い (Softbank carrier payments)external_softbank_carrier_payment
APACToss Payexternal_toss_pay
APACLaybuyexternal_laybuy
APACBank Payexternal_bank_pay
APACauかんたん決済 (au easy payments)external_au_easy_payment
APACBitCashexternal_bitcash
APACAzupayexternal_azupay
APACd払い (d-barai)external_dbarai
APACFamiPayexternal_famipay
APACGCashexternal_gcash
APACGrabPay Laterexternal_grabpay_later
APACMoMoexternal_momo
APACNET CASHexternal_net_cash
APACOctopusexternal_octopus
APACPaidyexternal_paidy
APACPayPayexternal_paypay
APACPlanPayexternal_planpay
APACペイジー (Pay-easy)external_pay_easy
APAC楽天ペイ (Rakuten Pay)external_rakuten_pay
APACメルペイ (Merpay)external_merpay
APACWebMoneyexternal_webmoney
APAC, EuropaShopback Payexternal_shopback_pay
EuropaAplazameexternal_aplazame
EuropaBizumexternal_bizum
EuropaDividoexternal_divido
EuropaFonixexternal_fonix
EuropaIwocapayexternal_iwocapay
EuropaKBCexternal_kbc
EuropaNexi Payexternal_nexi_pay
EuropaOneyexternal_oney
EuropaPayconiqexternal_payconiq
EuropaPayPoexternal_paypo
EuropaSofincoexternal_sofinco
EuropaPostepayexternal_postepay
EuropaPostFinanceexternal_postfinance
EuropaScalapayexternal_scalapay
EuropaTrueLayerexternal_truelayer
EuropaWalleyexternal_walley
EuropaYounitedPayexternal_younited_pay
InternacionalLINE Payexternal_line_pay
Internacionalpaysafecardexternal_paysafecard
InternacionalSamsung Payexternal_samsung_pay
InternacionalSezzleexternal_sezzle
LATAMDappexternal_dapp
LATAMPicPayexternal_picpay
MEATabbyexternal_tabby
MEABenefitexternal_benefit
MEAFawryexternal_fawry
¿Te fue útil esta página?
SíNo
¿Necesitas ayuda? Ponte en contacto con soporte.
Únete a nuestro programa de acceso anticipado.
Echa un vistazo a nuestro registro de cambios.
¿Tienes alguna pregunta? Contacto.
¿LLM? Lee llms.txt.
Con tecnología de Markdoc