Custom CiviCRM Payment Processor Module

Custom CiviCRM Payment Processor Module

I worked on a CiviCRM payment processor module for UCLA’s CyberPay. Here is a rundown of what I did as a reference (mostly for myself):

CMS:  Drupal 6.x with CiviCRM 2.x.

Drupal’s Official Site:  http://drupal.org.
CiviCRM’s Official Site:  http://civicrm.org.

Files (These files are on the CiviCRM side):
<drupal-root>/sites/all/modules/civicrm/CRM/Core/Payment/AISCyberpayOPCE.php
<drupal-root>/sites/all/modules/civicrm/CRM/Core/Payment/AISCyberpayOPCEIPN.php
<drupal-root>/sites/all/modules/civicrm/CRM/Event/Payment/AISCyberpayOPCE.php
<drupal-root>/sites/all/modules/civicrm/extern/cyberpayIPN.php

Contents of these files might be posted later.

This is a “notify” type of payment processor as described at  http://wiki.civicrm.org/confluence/display/CRMDOC/Creating+Additional+Payment+Processor+Plugins.

As mentioned in that same article, you must add this payment processor in the database table named “processor_types”.

On the CyberPay side, a few more files need to be created and uploaded to cyberpay.semel.ucla.edu, which currently is a Windows server that has an IP address that is authorized to access CyberPay directly.  For those at LBBP, we sometimes call this “Boston’s server”.

As a default setup scenario, we have a Microsoft Access DB (a flat file) as a database for transaction logging.  There are also 3 .asp files that collects user and payment info, do form validation and processing, then eventually POST the payment processing result back to CiviCRM at https://<opce’s drupal server>/sites/all/modules/civicrm/extern/cyberpayIPN.php. (or something like that).

The Access .mdb file:  ftp://<boston’s server>/cyberpay/npih/cyberpaytest.mdb
The registration page:  ftp://<boston’s server>/cyberpay/npih/asp/cyberpaytest/cyberpaytest-reg.asp
The form validation page:  ftp://<boston’s server>/cyberpay/npih/asp/cyberpaytest/cyberpaytest-validation.asp
The results page that calls cyberpayIPN.php:  ftp://<boston’s server>/cyberpay/npih/asp/cyberpaytest/cyberpaytest-result_s.asp

Leave a Reply

Your email address will not be published. Required fields are marked *