Proceso de desarrollo de iOS Apple Pay

Uno: Introducción

Las necesidades de la función de pago para ser utilizados en el proyecto, que requiere el pago de Alipay , pago web Alipay , pago WeChat , el pago UnionPay , pago de Apple, por lo que tengo la intención de resumir para futuras referencias y para todo el mundo para evitar ser estafado de nuevo donde se utiliza .
Hoy presentaremos principalmente el pago de control de UnionPay, otro pago también escribió los tutoriales correspondientes y proporcionó la conexión.

Organizar 45 libros electrónicos

2: Introducción al proceso de pago

2.1 Demostración de la página de Apple Pay

Demostración de la página de Apple Pay

  1. Los compradores compran bienes o servicios en aplicaciones móviles y muestran el botón Apple Pay en la página de pedidos.
  2. A través del control de UnionPay, se elimina la página de pago de Apple Pay
  3. El usuario verifica Touch ID a través de la página de pago. Si se requiere la contraseña de la tarjeta bancaria para ingresar la contraseña de la tarjeta bancaria, depende del límite de transacciones y del soporte del banco.
  4. Si el pago es exitoso, la página de éxito se mostrará en la aplicación del comerciante
    (1) La página de éxito del pago debe referirse al ejemplo de la interfaz de usuario y mostrar el logotipo de "UnionPay" y el logotipo de "Cloud QuickPass".
    (2) El control UnionPay SDK admite la función de descuento. Durante el evento de descuento, la aplicación del comerciante debe consultar la interfaz de usuario de la instancia para mostrar el monto original y el monto del descuento.

2.2 Implementación del pago de Apple Pay

Cómo implementar el pago de Apple Pay

1-2. El comerciante genera un pedido y envía la información del pedido a la pasarela de pago de UnionPay a través del SERVIDOR del comerciante;
3-4. La pasarela de pago de UnionPay registra la información del pedido, devuelve el número TN utilizado para identificar el pedido y lo devuelve a la APLICACIÓN del comerciante a través del SERVIDOR del comerciante;
5.
La APLICACIÓN del comerciante llama al SDK de UnionPay y transfiere el número TN al SDK de UnionPay 6. El SDK de UnionPay inicia una solicitud de pago al PASSKIT FRAMEWORK de Apple;
7. La interfaz devuelve información cifrada del token de pago;
8-9 . UnionPay SDK pasa el token de pago a la pasarela de pago de UnionPay, completa la autenticación de la transacción;
10-12. UnionPay devolverá el resultado del pago a la APLICACIÓN del comerciante, el SERVIDOR del comerciante y la APLICACIÓN del comerciante es responsable de informar al usuario del resultado de la transacción. .

Tres: configuración de ingeniería

configuración de bundleID

configuración de bundleID

Habilite el permiso Apple Pay en Capacidad y seleccione el ID de comerciante. Solicite el ID de comerciante

Habilitar los permisos de Apple Pay

Después de eso, el proyecto tendrá un archivo de configuración de Applepay más, ApplePayYasin.entitlements

archivos de proyecto

Cuatro: descargue el SDK de Apple Pay

SDK de Apple Pay

Después de la descarga, busque el archivo .h y el archivo de la biblioteca. Para usar UPPaymentControl, debe agregar los archivos UPAPayPlugin.hy UPAPayPluginDelegate.h en el directorio paymentcontrol / inc y el archivo libUPAPayPlugin.a en el directorio paymentcontrol / libs al comerciante proyecto de aplicación.

Ruta del SDK

Cinco: llamar a la interfaz de pago

Al llamar a la clase de pago UnionPay, primero agregue una referencia de archivo de encabezado.

#import "UPAPayPlugin.h"

// TODO 商户需要换用自己的mertchantID
#define kAppleMerchantID        @"merchant.com.AgreePay.ApplePayAgree"

El código en el método de pago es el siguiente:

//当获得的tn不为空时,调用支付接口
if (tn != nil && tn.length > 0) {
        [UPAPayPlugin startPay:tn 
        mode:@"01" 
        viewController:ViewController 
        delegate:self andAPMechantID:kAppleMerchantID];
}

Varios parámetros requeridos por el método están escritos en el documento, tn es el número de serie de la transacción, el cual es devuelto por el servidor, solo con este parámetro el cliente puede llamar al control de pago para el pago. ¡Solo llama a un método! ! !

Seis: devolución de llamada de los resultados del pago

Simplemente escriba el siguiente código en el ViewController que llama al pago

#pragma mark -
#pragma mark 响应控件返回的支付结果
#pragma mark -
- (void)UPAPayPluginResult:(UPPayResult *)result
{
    if(result.paymentResultStatus == UPPaymentResultStatusSuccess) {
        NSString *otherInfo = result.otherInfo?result.otherInfo:@"";
        NSString *successInfo = [NSString stringWithFormat:@"支付成功\n%@",otherInfo];
        
        NSLog(@"%@",successInfo);
       
    }else if(result.paymentResultStatus == UPPaymentResultStatusCancel){
        
        NSLog(@"支付取消");

    }else if (result.paymentResultStatus == UPPaymentResultStatusFailure) {
        
        NSString *errorInfo = [NSString stringWithFormat:@"%@",result.errorDescription];
        NSLog(@"支付失败%@",errorInfo);
    }else if (result.paymentResultStatus == UPPaymentResultStatusUnknownCancel)  {
        
        //TODO UPPAymentResultStatusUnknowCancel表示发起支付以后用户取消,导致支付状态不确认,需要查询商户后台确认真实的支付结果
//        NSString *errorInfo = [NSString stringWithFormat:@"支付过程中用户取消了,请查询后台确认订单"];
//        [self showAlertMessage:errorInfo];
        NSLog(@"支付过程中用户取消了,请查询后台确认订单");
        
    }
}

Captura de pantalla de la transferencia de pago

Espero poder ayudarlo.
Si hay algo mal o insuficiente, también espero que los lectores puedan proporcionar más comentarios o sugerencias.
IOS Technology Exchange Group: 668562416

Supongo que te gusta

Origin blog.csdn.net/qq_36478920/article/details/78415537
Recomendado
Clasificación