Para crear un customer, se requiere create_customer=true
y que transaction.token
este presente y
transaction.user.name
e transaction.user.email
.
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.
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
POST /api/stripe/charge
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
}
}
}
POST /api/stripe/verify
{
"credentials": {
"public_key": "sk_test_...",
"secret_key": "pk_test_..."
},
"transaction": {
"id": "ch_..."
}
}