/** * Crea una suscripción en PAYTPV sobre una tarjeta. ¡¡¡ IMPORTANTE !!! Esta entrada directa debe ser activada por PAYTPV. * En su defecto el método de entrada de tarjeta para el cumplimiento del PCI-DSS debe ser CreateSubscriptionUrl o CreateSubscriptionToken * @param int $pan Número de tarjeta, sin espacios ni guiones * @param string $expdate Fecha de caducidad de la tarjeta, expresada como “mmyy” (mes en dos cifras y año en dos cifras) * @param string $cvv Código CVC2 de la tarjeta * @param string $startdate Fecha de inicio de la suscripción yyyy-mm-dd * @param string $enddate Fecha de fin de la suscripción yyyy-mm-dd * @param string $transreference Identificador único del pago * @param string $periodicity Periodicidad de la suscripción. Expresado en días. * @param string $amount Importe del pago 1€ = 100 * @param string $currency Identificador de la moneda de la operación * @param string $ownerName (optional) Titular de la tarjeta * @param integer $scoring (optional) Valor de scoring de riesgo de la transacción * @return object Objeto de respuesta de la operación * @version 2.0 2016-06-07 */ public function CreateSubscription($pan, $expdate, $cvv, $startdate, $enddate, $transreference, $periodicity, $amount, $currency, $ownerName = null, $scoring = null) { $pan = preg_replace('/\\s+/', '', $pan); $expdate = preg_replace('/\\s+/', '', $expdate); $cvv = preg_replace('/\\s+/', '', $cvv); $signature = sha1($this->merchantCode . $pan . $cvv . $this->terminal . $amount . $currency . $this->password); $ip = $_SERVER['REMOTE_ADDR']; try { $clientSOAP = new SoapClient($this->endpoint); $ans = $clientSOAP->create_subscription($this->merchantCode, $this->terminal, $pan, $expdate, $cvv, $startdate, $enddate, $transreference, $periodicity, $amount, $currency, $signature, $ip, 1, $ownerName, $scoring); } catch (SoapFault $e) { return $this->SendResponse(); } return $this->SendResponse($ans); }