stripe-logo


Charge

Crear customer

Para crear un customer, se requiere create_customer=true y que transaction.token este presente y transaction.user.name e transaction.user.email.


Usar customer

Para utilizar un customer_stripe_id, se requiere use_customer=true y que transaction.user.stripe_id este presente, se utilizara la tarjeta por defecto del customer.

Si transaction.card está presente y no es null, se utilizara tanto el customer como él id de la tarjeta.


Cargo anónimo

Si create_customer=false y use_customer=false, se realizara un cargo anónimo por defecto. Se utilizará transaction.user.name e transaction.user.email si están presente como metadata del pago

Route POST /api/stripe/charge

Request Body

Por prioridad se evalúa primero él create_customer, si este es falso se evalúa el use_customer. Por defecto sé realizar un cargo anónimo como siempre si ambos están en falso.


No se requiere de un transaction.token si se utiliza un user.stripe_id

{
  "credentials": {
    "public_key": "pk_test_...",
    "secret_key": "sk_test_..."
  },
  "transaction": {
    "token": "tok_...",   // Card token ID
    "card": "card_...",   // Stripe Card ID
    "amount": "5000", // Monto en centimos
    "currency": "USD",
    "description": "Some description",
    "create_customer": false,   // Determina si un customer sera creado al realizar el cargo
    "use_customer": false,      // Determina si se utilizara user.stripe_id como el customer del cargo
    "user": {
      "name": "Emmanuel",                      // required if create_customer === true
      "email": "erodriguez@manzanares.com.ve", // required if create_customer === true
      "stripe_id": "cus_qwertyuiop"            // required if use_customer === true
    }
  }
}

Verify

Route POST /api/stripe/verify

Request Body

{
  "credentials": {
    "public_key": "sk_test_...",
    "secret_key": "pk_test_..."
  },
  "transaction": {
    "id": "ch_..."
  }
}