Giter Club home page Giter Club logo

columbia_securepay's Introduction

columbia_securepay

Internal Columbia communication with internal Secure Pay

The extension supplies an end point to receive notifications from the Columbia Secure pay system and process them into CiviCRM.

When a SecurePay notification is received it is logged in the civicrm_system_log table in the first instance and then records are created in the civicrm_secure_pay table. The first is primarily for debugging and can be accessed through the api explorer (Support->Administrator->Api3 Explorer). It keeps a track of any raw information that is sent in from the Columbia Secure pay server. The point of logging the data here is that with minimal processing anything that is received would wind up in this table, even if there were an error later in the process.

Once logged the data is processed into the civicrm_secure_pay table - these rows can be seen in Contributions/Secure Pay and are in a more readable format. However, it is important to understand this is a table of notifications - rather than payments. Most payments will have two rows - the notification that it has started processing (status = 'processing') and a completion or failure row.

The table shows both the Order status (e.g was the credit card accepted) and the Processing status - has the row been processed into CiviCRM. In general the Processing Status will be 'Completed' and there will be a contribution ID in the contribution ID column - indicating it has been processed. As with accessing the System log - this table would normally only be checked to ensure things are going correctly as the end result is the contribution is in CiviCRM.

Requirements

  • PHP v7.2+
  • CiviCRM 5.49+

Upgrading

Generally when upgrading CiviCRM there are no special actions that need to be taken for this extension - although it is wise to keep an eye that Secure Pay transations are still getting through to CiviCRM afterwards.

Installation (Web UI)

Learn more about installing CiviCRM extensions in the CiviCRM Sysadmin Guide.

Installation (CLI, Zip)

Sysadmins and developers may download the .zip file for this extension and install it with the command-line tool cv.

cd <extension-dir>
cv dl columbia_securepay@https://github.com/FIXME/columbia_securepay/archive/master.zip

Installation (CLI, Git)

Sysadmins and developers may clone the Git repo for this extension and install it with the command-line tool cv.

git clone https://github.com/FIXME/columbia_securepay.git
cv en columbia_securepay

Getting Started

  • Create a user for communications. The user must have these permissions:
  • permission AuthX: Authenticate to services with API key &
  • Secure Pay submit (post_securepay)
  • The contact associated with the user must have an api_key (in the table database as civicrm_contact.api_key)

img.png

The remote site will need to know

  • the url - something like https://{siteName}/civicrm/ajax/api4/Securepay/submit`
  • the api key
  • the site key - this is the value referred to as encryptionKey in test.php

The Sample code demonstrates a php version of how the remote site could interact.

columbia_securepay's People

Contributors

eileenmcnaughton avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.