public function createToken()
{
$wepay = Utils::setupWePay($this->accountGateway);
$token = intval($this->input['sourceToken']);
if ($this->isGatewayType(GATEWAY_TYPE_BANK_TRANSFER)) {
// Persist bank details
$this->tokenResponse = $wepay->request('/payment_bank/persist', ['client_id' => WEPAY_CLIENT_ID, 'client_secret' => WEPAY_CLIENT_SECRET, 'payment_bank_id' => $token]);
} else {
// Authorize credit card
$tokenResponse = $wepay->request('credit_card/authorize', ['client_id' => WEPAY_CLIENT_ID, 'client_secret' => WEPAY_CLIENT_SECRET, 'credit_card_id' => $token]);
// Update the callback uri and get the card details
$tokenResponse = $wepay->request('credit_card/modify', ['client_id' => WEPAY_CLIENT_ID, 'client_secret' => WEPAY_CLIENT_SECRET, 'credit_card_id' => $token, 'auto_update' => WEPAY_AUTO_UPDATE, 'callback_uri' => $this->accountGateway->getWebhookUrl()]);
$this->tokenResponse = $wepay->request('credit_card', ['client_id' => WEPAY_CLIENT_ID, 'client_secret' => WEPAY_CLIENT_SECRET, 'credit_card_id' => $token]);
}
return parent::createToken();
}