Skipjack Payment Gateway

Posts: 5
Joined: 02/29/2008

Hi ther we have uploaded skipjack payment gateway , if someone have this gateway setup and wants to test it any feedback is welcome.

Its not very complicated module but we were contributing mostly for drupal and ubercart just got our attentions so we are making our way with new hooks=)

Thx,
Mac

Posts: 4
Joined: 02/22/2008

Hi there,
Thank you so much for contributing this module.

I am testing the module using a Skipjack Developer Account and I have even been on the phone with skipjack trying to figure out why we are getting "Credit Card Denied" every time we test using their given cc#'s. The thing is, they said the payments are being processed and accepted as valid, so the problem is on our side.

Basically my drupal/Ubercart/Skipjack setup is reporting "credit card denied" even though the orders are going through, so I'm not sure what else to do then to contact you and see if you can help. It would be greatly appreciated as the site I developed is so close to being launched (beta testing site: vl.aestheticfunction.com ).

Would you rather have this discussion here or on the module page?

Sincerely,
Jonathan

Posts: 4
Joined: 02/22/2008

Hi, I just worked with Vnd, a php whiz friend of mine this morning and we found the bug. It was quite simple. The data response is alpha numeric according the Skipjacks api and you were using is_numeric against $data_response so even though the order was valid and process correctly, we were getting back AUTHCODE's that included letters and thus this function below was returning false:

function _evaluate_response($data_response)
{
	if($data_response['szIsApproved']==1 && $data_response['szReturnCode']==1 && is_numeric($data_response['AUTHCODE']))
	{
		return TRUE;
	}else 
	{
		return FALSE;
	}
}

According the skipjack, if AUTHCODE is 0 or empty then the order is not valid/rejected. Here is our mod:

function _evaluate_response($data_response)
{
	if($data_response['szIsApproved']==1 && $data_response['szReturnCode']==1 && !empty($data_response['AUTHCODE']))
	{
		return TRUE;
	}else 
	{
		return FALSE;
	}
}

I hope this helps.

Also, we cleaned up line 143 a bit and I'll paste that here for what it's worth:

	   	$message = t('Your credit card was successfully charged: !amount Transaction ID: !code Order ID: !oder_num Authorization/Approval Code: !a_code !text', array('!amount' => uc_currency_format($data_response['szTransactionAmount']/100),'!code'=>$data_response['szTransactionFileName'],'!oder_num'=>$data_response['szOrderNumber'],'!a_code'=>$data_response['AUTHCODE'],'!text' => _get_szReturnCodeInfo($data_response['szReturnCode'])));

Again, thanks a million for this contribution.

Posts: 5
Joined: 11/02/2007

Hi, I'm trying this plugin also with govatron's tweak, but it seems that when it trys to make a transaction, it takes off the 0 on my order total. It will charge $7.37 for an invoice of $73.70.

EDIT: I found that "transactionamount" => $order->order_total in $submit_data= array( is removing the 0 on the total...
I did a print on the $order->order_total before the array assignments and it was still 73.70
Any idea how to not make it delete the end 0?

EDIT2: "transactionamount" => number_format($order->order_total, 2, '.', ''), seems to work for me. Smiling

Also, I don't know if it's a bug in ubercart, but I can not seem to make a separate payment in the 'payments' tab, it uses the original invoice's total instead of the custom amount I put in.