/** * Creates an Simplify_CardToken object * @param array $hash a map of parameters; valid keys are:<dl style="padding-left:10px;"> * <dt><tt>callback</tt></dt> <dd>The URL callback for the cardtoken </dd> * <dt><tt>card.addressCity</tt></dt> <dd>City of the cardholder. </dd> * <dt><tt>card.addressCountry</tt></dt> <dd>Country code (ISO-3166-1-alpha-2 code) of residence of the cardholder. </dd> * <dt><tt>card.addressLine1</tt></dt> <dd>Address of the cardholder. </dd> * <dt><tt>card.addressLine2</tt></dt> <dd>Address of the cardholder if needed. </dd> * <dt><tt>card.addressState</tt></dt> <dd>State code (USPS code) of residence of the cardholder. </dd> * <dt><tt>card.addressZip</tt></dt> <dd>Postal code of the cardholder. </dd> * <dt><tt>card.cvc</tt></dt> <dd>CVC security code of the card. This is the code on the back of the card. Example: 123 </dd> * <dt><tt>card.expMonth</tt></dt> <dd>Expiration month of the card. Format is MM. Example: January = 01 <strong>required </strong></dd> * <dt><tt>card.expYear</tt></dt> <dd>Expiration year of the card. Format is YY. Example: 2013 = 13 <strong>required </strong></dd> * <dt><tt>card.name</tt></dt> <dd>Name as appears on the card. </dd> * <dt><tt>card.number</tt></dt> <dd>Card number as it appears on the card. <strong>required </strong></dd> * <dt><tt>key</tt></dt> <dd>Key used to create the card token. </dd></dl> * @param string publicKey Public key. If null, the value of static Simplify::$publicKey will be used * @param string privateKey Private key. If null, the value of static Simplify::$privateKey will be used * @return CardToken a CardToken object. */ public static function createCardToken($hash, $publicKey = null, $privateKey = null) { $instance = new Simplify_CardToken(); $instance->setAll($hash); $object = Simplify_PaymentsApi::createObject($instance, $publicKey, $privateKey); return $object; }
/** * Creates an Simplify_CardToken object * @param array $hash a map of parameters; valid keys are:<dl style="padding-left:10px;"> * <dt><tt>callback</tt></dt> <dd>The URL callback for the cardtoken </dd> * <dt><tt>card.addressCity</tt></dt> <dd>City of the cardholder. [max length: 50, min length: 2] </dd> * <dt><tt>card.addressCountry</tt></dt> <dd>Country code (ISO-3166-1-alpha-2 code) of residence of the cardholder. [max length: 2, min length: 2] </dd> * <dt><tt>card.addressLine1</tt></dt> <dd>Address of the cardholder. [max length: 255] </dd> * <dt><tt>card.addressLine2</tt></dt> <dd>Address of the cardholder if needed. [max length: 255] </dd> * <dt><tt>card.addressState</tt></dt> <dd>State of residence of the cardholder. For the US, this is a 2-digit USPS code. [max length: 255, min length: 2] </dd> * <dt><tt>card.addressZip</tt></dt> <dd>Postal code of the cardholder. The postal code size is between 5 and 9 in length and only contain numbers or letters. [max length: 9, min length: 3] </dd> * <dt><tt>card.cvc</tt></dt> <dd>CVC security code of the card. This is the code on the back of the card. Example: 123 </dd> * <dt><tt>card.expMonth</tt></dt> <dd>Expiration month of the card. Format is MM. Example: January = 01 [min value: 1, max value: 12] <strong>required </strong></dd> * <dt><tt>card.expYear</tt></dt> <dd>Expiration year of the card. Format is YY. Example: 2013 = 13 [min value: 0, max value: 99] <strong>required </strong></dd> * <dt><tt>card.name</tt></dt> <dd>Name as appears on the card. [max length: 50, min length: 2] </dd> * <dt><tt>card.number</tt></dt> <dd>Card number as it appears on the card. [max length: 19, min length: 13] <strong>required </strong></dd> * <dt><tt>key</tt></dt> <dd>Key used to create the card token. </dd></dl> * @param $authentication - information used for the API call. If no value is passed the global keys Simplify::public_key and Simplify::private_key are used. <i>For backwards compatibility the public and private keys may be passed instead of the authentication object.<i/> * @return CardToken a CardToken object. */ public static function createCardToken($hash, $authentication = null) { $args = func_get_args(); $authentication = Simplify_PaymentsApi::buildAuthenticationObject($authentication, $args, 2); $instance = new Simplify_CardToken(); $instance->setAll($hash); $object = Simplify_PaymentsApi::createObject($instance, $authentication); return $object; }
/** * Return the chosen payment details here for final confirmation. You probably don't need * to post anything in the form as it should be in your $_SESSION var already. * * @param array $cart. Contains the cart contents for the current blog, global cart if $mp->global_cart is true * @param array $shipping_info. Contains shipping info and email in case you need it */ function confirm_payment_form($cart, $shipping_info) { global $mp; // Token MUST be set at this point if (!isset($_SESSION['simplifyToken'])) { $mp->cart_checkout_error(__('The Simplify Token was not generated correctly. Please go back and try again.', 'mp')); return false; } // Setup the Simplify API if (!class_exists('Simplify')) { require_once $mp->plugin_dir . "plugins-gateway/simplify-files/lib/Simplify.php"; } Simplify::$publicKey = $this->publishable_key; Simplify::$privateKey = $this->private_key; try { $token = Simplify_CardToken::findCardToken($_SESSION['simplifyToken']); } catch (Exception $e) { $mp->cart_checkout_error(sprintf(__('%s. Please go back and try again.', 'mp'), $e->getMessage())); return false; } $content = '<table class="mp_cart_billing table table-striped table-bordered table-hover">'; $content .= '<thead>'; $content .= '<tr>'; $content .= '<th>' . __('Billing Information:', 'mp') . '</th>'; $content .= '<th align="right" class="align-right"><a href="' . mp_checkout_step_url('checkout') . '"> ' . __('Edit', 'mp') . '</a></th>'; $content .= '</tr>'; $content .= '</thead>'; $content .= '<tbody>'; $content .= '<tr>'; $content .= '<td align="right" class="span4 align-right">' . __('Card Type:', 'mp') . '</td>'; $content .= '<td>' . sprintf(__('%1$s', 'mp'), $token->card->type) . '</td>'; $content .= '</tr>'; $content .= '<tr>'; $content .= '<td align="right" class="span4 align-right">' . __('Last 4 Digits:', 'mp') . '</td>'; $content .= '<td>' . sprintf(__('%1$s', 'mp'), $token->card->last4) . '</td>'; $content .= '</tr>'; $content .= '<tr>'; $content .= '<td align="right" class="span4 align-right">' . __('Expires:', 'mp') . '</td>'; $content .= '<td>' . sprintf(__('%1$s/%2$s', 'mp'), $token->card->expMonth, $token->card->expYear) . '</td>'; $content .= '</tr>'; $content .= '</tbody>'; $content .= '</table>'; return $content; }