Paso a paso
PRERREQUISITO: Obtenga sus credenciales para la API (5 à 10 minutos)
- ¿Es usted cliente? Usted debe de haber recibido un email titulado: "API Credentials - Start integrating your solution now!"
- ¿Aún no es cliente? YUsted puede hacer pruebas de integración, en su sistema, generando unas credenciales API aleatorias aquí.
Importante
La presente guía no incluye los aspectos básicos de la autenticación por API ni el formato de las solicitudes y las respuestas. Por favor, consulta estas secciones si no estás familiarizado con estos conceptos.
Todos los ejemplos de código en nuestras guías están escritos en PHP y se basan en nuestro Cliente HAPI, desarrollado por SlimPay para reducir la complejidad de la conexión con nuestra API. Para más detalles puedes consultar nuestra página de cliente HTTP.
- Descargue nuestro "PHP client" oficial aquí y descomprima el archivo (sin otras carpetas adicionales) (5 minutos)
- Colocar la carpeta del cliente en el servidor HTTP de su sitio web (5 mins)
- Cree una nueva página PHP que aparecerá cuando usted solicite el pago (5 minutos) Ejemplo: Su página tiene un botón "Firmar" o "Pagar". Es redirigida a una nueva página "slimpay.php"
- Insertar el siguiente fragmento de código en esta página (10 minutos)
No olvide de poner al día las credenciales con sus valores en el código que aparece abajo// Instructions: https://github.com/SlimPay/hapiclient-php require_once 'vendor/autoload.php'; use \HapiClient\Http; use \HapiClient\Hal; // The HAPI Client $hapiClient = new Http\HapiClient( 'https://api.preprod.slimpay.com', '/', 'https://api.slimpay.net/alps/v1', new Http\Auth\Oauth2BasicAuthentication( '/oauth/token', 'yourAppName', 'yourAppSecret' ) ); // The Relations Namespace $relNs = 'https://api.slimpay.net/alps#'; // Follow create-orders $rel = new Hal\CustomRel($relNs . 'create-orders'); $follow = new Http\Follow($rel, 'POST', null, new Http\JsonBody( [ 'started' => true, 'creditor' => [ 'reference' => 'yourCreditorReference' ], 'subscriber' => [ 'reference' => 'theSubscriberReference' ], 'items' => [ [ 'type' => 'signMandate', 'autoGenReference' => true, 'mandate' => [ 'signatory' => [ 'billingAddress' => [ 'street1' => '27 rue des fleurs', 'street2' => 'Bat 2', 'city' => 'Paris', 'postalCode' => '75008', 'country' => 'FR' ], 'honorificPrefix' => 'Mr', 'familyName' => 'Doe', 'givenName' => 'John', 'email' => 'change.me@slimpay.com', 'telephone' => '+33612345678' ], 'standard' => 'SEPA' ] ] ] ] )); try { $res = $hapiClient->sendFollow($follow); $url = $res->getLink('https://api.slimpay.net/alps#user-approval')->getHref(); header('Location:' . $url); exit; } catch (\HapiClient\Exception\HttpException $e) { $log = 'Error - ' . $e->getStatusCode() . ' ' . $e->getReasonPhrase() . ' - ' . $e->getResponseBody(); echo $log; }
// Instructions: https://github.com/SlimPay/hapiclient-php require_once 'vendor/autoload.php'; use \HapiClient\Http; use \HapiClient\Hal; // The HAPI Client $hapiClient = new Http\HapiClient( 'https://api.preprod.slimpay.com', '/', 'https://api.slimpay.net/alps/v1', new Http\Auth\Oauth2BasicAuthentication( '/oauth/token', 'yourAppName', 'yourAppSecret' ) ); // The Relations Namespace $relNs = 'https://api.slimpay.net/alps#'; // Follow create-orders $rel = new Hal\CustomRel($relNs . 'create-orders'); $follow = new Http\Follow($rel, 'POST', null, new Http\JsonBody( [ 'started' => true, 'creditor' => [ 'reference' => 'yourCreditorReference' ], 'subscriber' => [ 'reference' => 'testphpclient01' ], 'items' => [ [ 'type' => 'signMandate', 'autoGenReference' => true, 'mandate' => [ 'signatory' => [ 'billingAddress' => [ 'street1' => '27 rue des fleurs', 'street2' => 'Bat 2', 'city' => 'Paris', 'postalCode' => '75008', 'country' => 'FR' ], 'honorificPrefix' => 'Mr', 'familyName' => 'Doe', 'givenName' => 'John', 'email' => 'change.me@slimpay.com', 'telephone' => '+33612345678' ], 'standard' => 'SEPA' ], [ 'type' => 'payment', 'action' => 'create', 'payin' =>[ 'amount' => '29.99', 'scheme' => null, 'reference' => null, 'label' => 'First payment for your subscription', 'executionDate' => null ] ] ] ] ] )); try { $res = $hapiClient->sendFollow($follow); $url = $res->getLink('https://api.slimpay.net/alps#user-approval')->getHref(); header('Location:' . $url); exit; } catch (\HapiClient\Exception\HttpException $e) { $log = 'Error - ' . $e->getStatusCode() . ' ' . $e->getReasonPhrase() . ' - ' . $e->getResponseBody(); echo $log; }
- Pruebe el flujo accediendo a su sitio web (5 minutos)
Siguiente paso
Ahora que SlimPay está integrado, usted necesita reemplazar los valores predeterminados con vuestros propios valores (ejemplo: firstName, givenName, address...).
Ejemplo
'honorificPrefix' => $title,
'familyName' => $family_name,
'givenName' => $given_name,
'email' => $client_email,
Asegúrese que los siguientes atributos están siempre llenos de esta manera SlimPay puede firmar el mandato (debitar a su cliente):
'Creditor {reference}'
'Subscriber {reference}'
'Street1'
'City'
'PostalCode'
'Country'
'HonoricPrefix'
'FamilyName'
'GivenName'