Skip to content

Payment Processing Design Considerations

Patrick Bolger edited this page Oct 17, 2017 · 9 revisions

Status Transition Table - SHF Payment and HIPS Order

An SHF Payment instance is the counterpart of a HIP Order. Thus, the status changes of each will be in tandem. In fact - other than the initial payment status (created) - payment status is identical to the corresponding order status that is visible to us.

The table below is based upon the use of the "Checkout API" integration with HIPS. One result of this is that we should not expect to see HIPS invoke the user_return_url_on_fail redirect, based on current HIPS processing (although this might change in the future).

# Current Status Action New Status
1 nil User clicks "Pay Membership Fee" link. A new Payment instance is created, and an order create request is issued to HIPS. created
2 created HIPS create returns success status and the order. User is presented with the HIPS checkout form. pending
3 pending User successfully completes payment, HIPS redirects user to user_return_url_on_success. success
4 pending User does not complete payment (abandons checkout). pending
5 pending User sees pending payment on their account page, clicks link to continue payment. This time, payment is successful - see step 3. success
Clone this wiki locally