Library Documentation

Below is documentation on interfacing to BluePay's library software:

BluePay 2.0 POST Method for Rebilling Updates
For automated integration.  This interface is NOT for Posting directly from a web form!

The URL of this interface is currently:
https://secure.bluepay.com/interfaces/bp20rebadmin

PLEASE NOTE:  This URL may change in the future.  In integrating your system, please remember
to make the URL a parameter you can easily change.  If you are coding a shopping cart, please
make the URL a parameter the merchant can easily set.


REQUEST FORMAT:
Expected input format is that of a standard HTTPS POST.  All parameters are uri-encoded in the
body of the request, for example:

### BEGIN REQUEST EXAMPLE ###
POST https://secure.bluepay.com/interfaces/bp20rebadmin
Content-Type: application/x-www-form-urlencoded

ACCOUNT_ID=123412341234&REBILL_ID=4321432143214321&TRANS_TYPE=GET
### END REQUEST EXAMPLE ###

RESPONSE FORMAT:
Expected output is that of a standard HTTPS response.  The HTTP Status will be '200' for a successfully-
processed request and '400' for an error.  All response parameters are uri-encoded in
the body of the response, for example:

### BEGIN RESPONSE EXAMPLE ###
HTTP/1.1 200 OK
Cache-Control: max-age=0
Connection: close
Date: Tue, 07 Dec 2004 17:31:12 GMT
Server: Apache
Content-Type: text/html; charset=ISO-8859-1
Expires: Tue, 07 Dec 2004 17:31:12 GMT

rebill_id=123123123123&account_id=321321321321&user_id=321123321123&status=active
### END RESPONSE EXAMPLE ###

Input Parameters are:

ACCOUNT_ID = Your 12-digit BluePay 2.0 Account ID
USER_ID    = Optional.  Your 12-digit BluePay 2.0 User ID
TAMPER_PROOF_SEAL = An MD5 hash of your Secret Key and a few transaction parameters, as below.
REBILL_ID  = Required.  The 12-digit ID of the Rebilling to modify/view
TRANS_TYPE = Optional. GET or SET (defaults to SET)
If set to GET, then you are only required to send the ACCOUNT_ID, TAMPER_PROOF_SEAL, and REBILL_ID.
If "SET" then you must also send at least one field, below, to set the value of:
TEMPLATE_ID = Optional and dangerous - selects a new transaction ID to act as the template for
             this rebilling sequence.
NEXT_DATE  = Set the next rebill date to this date.
REB_EXPR   = Set the rebilling expression to this expression.
REB_CYCLES = Set the number of remaining rebilling cycles to this number.
REB_AMOUNT = Set the regular rebilling amount to this amount.
NEXT_AMOUNT = Set the *next* rebilling only to this amount; all other rebilling’s will continue at the regular (REB_AMOUNT) amount.
STATUS = Set the status of this rebilling.  Valid statuses at the time of writing are:
active
deleted
stopped
expired
failed
error


The TAMPER_PROOF_SEAL is an MD5 checksum of your SECRET KEY and a few transaction parameters.  We use an
MD5 simply to avoid sending the SECREY KEY over the wire, and we include some of the transaction parameters
simply as a convenient source of "random" padding.  The TAMPER_PROOF_SEAL is currently calculated as follows:

md5(SECRET KEY + ACCOUNT_ID + TRANS_TYPE + REBILL_ID)
where '+' indicates string concatenation and undefined fields are concatenated as '' (null string)

Your md5 function must return a hex-encoded md5 checksum.  If you do not know your SECRET KEY, please contact
BluePay support.

Output Parameters are returned for GET and SET transactions - if you perform a SET, the returned parameters should
reflect your changes:

REBILL_ID  = The 12-digit ID specifying this rebilling.
ACCOUNT_ID = The 12-digit ID of the account owning this rebilling.
USER_ID    = The 12-digit ID of the user owning this rebilling.
TEMPLATE_ID= The 12-digit ID of the template for this rebilling.
STATUS     = The current status of the rebilling
CREATION_DATE = The date the rebilling sequence was originally created.
NEXT_DATE  = The next day this rebilling will be run.
LAST_DATE  = The last day this rebilling was run.
SCHED_EXPR = The current rebilling expression for this rebilling
CYCLES_REMAIN = The number of remaining rebilling cycles for this rebilling.
REB_AMOUNT = the regular amount this rebilling will charge the customer.
NEXT_AMOUNT = The amount this rebilling will charge on the next billing only.

Output HTTP status code is 200 for a successfully processed request.
Output HTTP status code is 400 for an error request.
BluePay Processing, LLC is a registered ISO of Wells Fargo Bank, N.A., Walnut Creek, CA, U.S.A.
BluePay Canada ULC, is a Registered ISO/MSP of Peoples Trust Company, Vancouver, Canada.