npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

payment-stripe-widgets

v0.1.3

Published

Librería para realizar pagos con tarjeta de crédito o débito a través de Stripe. También permite realizar pagos con Oxxo. Esta librería se conecta con un servidor de pagos para múltiples proyectos (en construcción).

Downloads

45

Readme

Acerca de

Librería para realizar pagos con tarjeta de crédito o débito a través de Stripe. También permite realizar pagos con Oxxo. Esta librería se conecta con un servidor de pagos para múltiples proyectos (en construcción).

Instalación

Usar el comando:

    npm install payment-stripe-widgets

En tu frontend instala la librería en el index.html

    <script src="https://js.stripe.com/v3/"></script>

En tu módulo de Angular importa el módulo de la librería:

    import { PaymentModule } from 'payment-stripe-widgets';

Y en el arreglo de imports del módulo de Angular agrega el módulo de la librería:

        imports: [
            ...
            PaymentModule.forRoot({
                paymentServer: URL_DEL_SERVIDOR_DE_PAGOS,
                stripePublicKey: STRIPE_PUBLIC_KEY
            }),
        ]

Formulario de pago

El formulario es un widget que permite realizar pagos con tarjeta de crédito o débito a través de Stripe. Se utiliza de la siguiente forma:

    <payment [products]="PRODUCTS" [pathConfirmation]="RUTA_CONFIRM" [projectID]="PROJECTID"
                [userID]="USERID"></payment>

Donde PRODUCTS es una lista de productos de la siguiente forma:

    products = [
        {
            id: ID_STRIPE,
            quantity: 1
        }
    ]

userID es el usuario que realiza el pago, y projectID es un String donde vas a identificar tu proyecto en el backend (si es que tienes varios proyectos en el mismo servidor de pagos). Estos dos atributos se agregan a el objeto de metadata que se envía a Stripe. Puedes agregar atributos extra al objeto metadata, pero no es obligatorio. En cambio el pathConfirmation, userID y projectID sí lo son.

Atributos para el componente payment

    [products]="ProductsDTO[] (obligatorio)"
    [projectID]="string (obligatorio)"
    [userID]="string (obligatorio)"
    [pathConfirmation]="string (obligatorio)"
    [buttonLabel]="string"
    [showEmailInput]="boolean"
    [showAmountNextToButton]="boolean"
    [metadata]="any"

Componente de confirmación de pago

Debes de tener una ruta en tu frontend para mostrar una alerta al usuario del resultado del pago. Donde tienes que utilizar el siguiente componente:

    <confirm-payment [projectID]="projectID" [userID]="userID" (response)="response($event)"></confirm-payment>

Esta ruta con este componente tiene que estar relacionado al atributo pathConfirmation que se utiliza en el componente anterior. De igual manera, projectID y userID son obligatorios. El atributo response es un evento que se dispara cuando se obtiene la respuesta del servidor de pagos. El evento response recibe un objeto de la siguiente forma:

    {
        body: any, // Objeto que regresa el servidor de pagos
        valid: boolean,
    }

Atributos para el componente confirm-payment

    [projectID]="string (obligatorio)"
    [userID]="string (obligatorio)"
    [messageSuccess]="string"
    [messageProcessing]="string"
    [messageRequiresPaymentMethod]="string"
    [messageUnexpectedError]="string"
    (response)="function"

Botón de suscripción

Es un botón que redireccionará al usuario a una página de Stripe para que pueda realizar una suscripción. Se utiliza de la siguiente forma: Es necesario que el ID del producto tenga un precio asociado en Stripe y además que sea un producto tipo suscripción.

    <subscription-button [userID]="userID" [projectID]="projectID" [pathConfirmation]="PATH_CONFIRMATION" [productID]="PRODUCT_ID">
            Suscribirse
    </subscription-button>
   

Atributos para el componente subscription-button

    [projectID]="string (obligatorio)"
    [userID]="string (obligatorio)"
    [productID]="string (obligatorio)"
    [pathConfirmation]="string (obligatorio)"
    [pathCancelation]="string"
    [metadata]="any"

Botón de pago con Oxxo

Funciona de la misma manera que un botón de suscripción, solamente que te manda directamente a generar una boleta de pago que se puede pagar en Oxxo. Se utiliza de la siguiente forma:

    <oxxo-button [metadata]="metadata" [products]="data.products" [pathConfirmation]="PATH_CONFIRMATION" [projectID]="projectID"
        [userID]="userID">
        Pagar con Oxxo
    </oxxo-button>

Atributos para el componente oxxo-button

    [projectID]="string (obligatorio)"
    [userID]="string (obligatorio)"
    [products]="ProductsDTO[] (obligatorio)"
    [pathConfirmation]="string (obligatorio)"
    [pathCancelation]="string"
    [metadata]="any"