Archivos de la categoría General

Cómo efectuar pagos mediante Apple Pay y Stripe en Ionic

Lo primero de todo vas a necesitar el siguiente plugin para poder llamar a las funcionalidades de Apple Pay:

https://ionicframework.com/docs/native/apple-pay

Después tienes que ir al panel de Stripe y activar el método de pago con Apple Pay, desde ahí te deberás de bajar un CSR (Certificate Singing Request) que deberás de usar en el Portal de desarrollador de Apple.

Desde el porta de desarrollador de Apple deberas de crear un Merchant ID:

Y luego dentro de ese Merchant ID deberás de usar el CSR para crear un certificado en el apartado de Apple Pay Payment Processing Certificate:

Después te bajas el certificado y lo instalas haciendo doble click sobre él.

Con eso ya tienes preparado el entorno de Stripe y Apple para poder usar Apple Pay.

Ahora dentro de la la app, sigues el ejemplo de la página del plugin:

https://github.com/samkelleher/cordova-plugin-applepay

Aquí hay que tener en cuenta que en items, van todos los items que ha comprado el usuarios, más un item más que es el total, es decir que si el usuario ha pagado tres productos, en items tendremos los siguiente:

const items = [
          {
            label: 'producto1',
            amount: 15.95
          },
          {
            label: 'producto2',
            amount: 9.95
          },
          {
            label: 'producto2',
            amount: 7.95
          },
          {
            label: 'MI EMPRESA/APP O LO QUE SEA',
            amount: 33.85
          }
        ];

El final al usuario se le cobrará el importe del último item, el resto forma parte del desglose de la compra, y MUY IMPORTANTE, el último item tiene que tener el nombre de la app o de la empresa o del servicio al que hay que hacer el pago.

Después y siguiendo el ejemplo del plugin, en la respuesta a la llamada makePaymentRequest tendremos el token de Apple Pay que ira dentro del parámetro paymentData de la respuesta e irá codificado en base64.

Cogiendo la respuesta y utilizando la siguiente función:

async getTokenFromPaymentData(payment: any) {
    const payload: any = {
      pk_token: atob(payment.paymentData),
      muid: UUID_DEL_DISPOSITIVO,
      time_on_page: '0'
    };

    if (payment.paymentMethodDisplayName) {
      payload.pk_token_instrument_name = payment.paymentMethodDisplayName;
    }

    if (payment.paymentMethodNetwork) {
      payload.pk_token_payment_network = payment.paymentMethodNetwork;
    }

    if (payment.transactionIdentifier) {
      payload.pk_token_transaction_id = payment.transactionIdentifier;
    }

    const response = await fetch('https://api.stripe.com/v1/tokens', {
      method: 'POST',
      headers: {
        'Stripe-Version': '2015-10-12',
        Authorization: `Bearer pk_live_XXXXXXXXXXXXXXXXXXXXXX`,
      },
      body: new URLSearchParams(payload),
    });

    const data = await response.json();
    const token = data.id;

    return token;
  }

De la siguiente manera:

...
}).then(async(paymentResponse) => {
           
   const token = await this.getTokenFromPaymentData(paymentResponse);
...

Obtendremos el token de Stripe, lo mandaremos al servidor donde procesamos los pagos y realizaremos el pago a través de la API de Stripe:

\Stripe\Stripe::setApiKey('sk_live_XXXXXXXXXXXXXXXXXX');

\Stripe\Charge::create([
  'amount' => 3385,
  'currency' => 'eur',
  'source' => 'token',
  'description' => 'Compra X',
]);

Meme: ¿Crisis? Que no cunda el pánico

Yo al igual que badcrc también tenía dinero ahorrado por lo que la crisis me está afectando menos, lo único que noto es como a final de mes me gasto más de lo que gano pero es por la puñetera hipoteca.

Por lo demás no soy de gastar nada entre semana, de hecho suelo ir con la cartera vacía, si no tienes, no te entrará la tentación de gastar y si hay una emergencia siempre está MasterCard.

La manera que tengo de gastar menos es apuntar todo lo que gasto de manera que lo pueda ver y si he hecho una compra imprudente lo estaré viendo siempre que abra la hoja de gastos, también hace que te de pereza apuntarlo y por lo tanto no lo gastas.

En cuanto a la ropa, solo me compro cuando tengo necesidad y de momento no la tengo. Cuando me quiero comprar algún capricho busco el más barato, por ejemplo, hace poco se me antojó un pulsometro para medir las pulsaciones cuando salgo a correr y vi que eran un poco caros, entre 100 y 200 euros, así  que me fui a Decathlon y me compre uno de oferta por 19,90 euros.

En cuanto al ocio, las Euskal dan mucho de si y todavíaa tengo material sin visionar desde hace dos, por lo que para las tardes aburridas ya tengo entretenimiento gratis. Cuando salgo los fines de semana procuro ir a sitios donde no cobren entrada y como mucho dos consumiciones, más no.

Y lo de independizarse que comenta badcrc, me da que todavíaa no, hay que esperar a no gastar más de lo que gano para poder hacerlo.