digitalDot diseño webLogo Diseño Web digitalDot

Implementación de pagos en iOS

28/03/2019

Implementación de pagos en iOS. digitalDotPara todos aquellos que estáis desarrollando una aplicación móvil para iOS y queréis ganar dinero con ella seguro que os interesa conocer cómo implementar la forma de pago en el sistema.

Pues bien vamos a ponernos manos a la obra que vuestra app merece toda nuestra atención.

¿Cómo implementar in-App-Purchase en iOS?

1º paso

En el certificado de la aplicación y en los archivos Provision Profile (tanto Distribution como Development ) debemos añadir la opción In-App-Purchase.

2º paso

Antes de todo debemos habilitar, en el proyecto Xcode en Capabilities, la opción In-App-Purchase.

Implementar pago iOS. digitalDot

2.1 En la vista que queramos implementar los pagos debemos importar la librería que nos proporciona los métodos necesarios.

import StoreKit

2.2 Este método necesita el ID del producto para comprobar la disponibilidad los productos que tengamos en Itunes Connect (se lo tenemos que pasar como parámetro)

func fetchAvailableProducts(idProducto: String){

        let productIdentifiers = NSSet(objects: idProducto)

        productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers as! Set<String>)

        productsRequest.delegate = self

        productsRequest.start()

}

2.3 En este método (llamado desde el método anterior) podemos hacer algunas comprobaciones del precio y del id devuelto por Apple

func productsRequest (_ request:SKProductsRequest, didReceive response:SKProductsResponse);

2.4 El siguiente método devuelve si podemos realizar la compra del producto

func canMakePurchases() -> Bool

          return SKPaymentQueue.canMakePayments()

}

2.5 Si el método anterior nos devuelve que todo es correcto, llamamos al siguiente método en el que podemos aceptar y comprar el producto:

func purchaseMyProduct(product: SKProduct) {

        let payment = SKPayment(product: product)

        SKPaymentQueue.default().add(self)

        SKPaymentQueue.default().add(payment)

}

2.6 Este método se llamará cuando hayamos confirmado el pago y nos dirá cuál es el estado de la transacción.

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {

      

        for transaction:AnyObject in transactions {

           

            if let trans = transaction as? SKPaymentTransaction {

                switch trans.transactionState {

               

                case .purchased:

                    SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction)

                    break

                   

                case .failed:

                    SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction)

                    break

                case .restored:

                    SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction)

                    break

               

                default: break

               }

                        }

            }

    }

3º paso

APP Store Connect iOS. digitalDot

Introducir productos en App Store Connect.

Para crear los productos debemos ir a:

App Store Connect > Mis apps > Prestaciones > Compras dentro de la app

App Store Connect. digitalDot

3.1 Podemos crear 4 tipos de productos (hacer clic en el (+) que nos aparece):

• Consumibles.

• No consumibles.

• Con suscripción automática.

• Sin suscripción automática.

Simplemente elegimos el que más se ajuste a nuestras necesidades y le proporcionamos los siguientes atributos:

• Nombre

• ID (necesario que sea único).
• precio (según la franja de precios de Apple).

• idioma

• Nombre que aparecerá para comprar en la aplicación.

• Descripción de la app

Implementar pagos en app ios. digitalDot

Y hasta aquí todos los pasos que deberéis realizar si queréis implementar los pagos en aplicaciones iOS.

Si no queréis liaros con todos estos temas podéis contactar con nuestros expertos en desarrollo de aplicaciones iOS y que se encarguen ellos de crearos la aplicación de vuestros sueños.

crossmenuchevron-down
×

Te resolvemos las dudas

Horario de atención al cliente:
L-V 8.00-14.00
L-J 14.00-18.00

× ¿Cómo puedo ayudarte?