PHPackages                             ubc-cpsc/commerce\_touchnet\_upay - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. ubc-cpsc/commerce\_touchnet\_upay

ActiveDrupal-module[Payment Processing](/categories/payments)

ubc-cpsc/commerce\_touchnet\_upay
=================================

Provides Commerce Integration with UBC's TouchNet uPay Proxy payment gateway

1.1.1(1y ago)1880GPL-2.0-or-laterPHP

Since Aug 9Pushed 1y ago2 watchersCompare

[ Source](https://github.com/ubc-cpsc/commerce_touchnet_upay)[ Packagist](https://packagist.org/packages/ubc-cpsc/commerce_touchnet_upay)[ Docs](https://github.com/ubc-cpsc/commerce_touchnet_upay)[ RSS](/packages/ubc-cpsc-commerce-touchnet-upay/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (2)Versions (7)Used By (0)

TouchNet uPay Proxy Payment Gateway.
====================================

[](#touchnet-upay-proxy-payment-gateway)

UBC integration of TouchNet uPay with Commerce 2

Install &amp; Configure
=======================

[](#install--configure)

1. Install this module as per your usual method.
2. Add a new payment gateway at `/admin/commerce/config/payment-gateways`, we've used `upay` for the machine name of the gateway.
3. We recommended to store many of the variables in an override in settings.php and don't store the keys and secrets in the database.
    1. Further in `.env` file outside the websites document root only if you can. ```
        UPAY_PROXY_API_URI='https://api.ubc.ca/upay/v1'
        UPAY_PROXY_MERCHANT_ID='MRCH'
        UPAY_PROXY_MERCHANT_STORE_ID='01'
        UPAY_PROXY_MERCHANT_PROXY_KEY='YOUR PROXY KEY'
        UPAY_PROXY_MERCHANT_UPDATE_SECRET='YOUR UPDATE SECRET'

        ```

        Overrides in `settings.php````
        /**
         * TouchNet uPay Proxy Payment Gateway override.
         */
        $config['commerce_payment.commerce_payment_gateway.upay']['configuration']['base_uri'] = getenv('UPAY_PROXY_API_URI');
        $config['commerce_payment.commerce_payment_gateway.upay']['configuration']['merchant_id'] = getenv('UPAY_PROXY_MERCHANT_ID');
        $config['commerce_payment.commerce_payment_gateway.upay']['configuration']['merchant_store_id'] = getenv('UPAY_PROXY_MERCHANT_STORE_ID');
        $config['commerce_payment.commerce_payment_gateway.upay']['configuration']['merchant_proxy_key'] = getenv('UPAY_PROXY_MERCHANT_PROXY_KEY');
        $config['commerce_payment.commerce_payment_gateway.upay']['configuration']['merchant_update_secret'] = getenv('UPAY_PROXY_MERCHANT_UPDATE_SECRET');

        ```

Endpoints for DPP
=================

[](#endpoints-for-dpp)

You'll be asked for the endpoints and commerce will generate paths based on the **machine name of the payment gateway**.

We named all of our Payment Gateway machine name as `upay` and the generated paths look like this:

- Endpoint Path: `/payment/notify/upay`
- Success Link Path: `/payment/success/upay`
- Error Link Path: `/payment/error/upay`
- Cancel Link Path: `/payment/cancel/upay`

Append the above paths on to your **Staging** or **Production** environment base URI:

Example
-------

[](#example)

Staging Endpoint URL: `https://stg-example.ubc.ca/payment/notify/upay`

Caveats
=======

[](#caveats)

- We have yet to implement (due to demand) a way to change any of the WorkDay overrides for a specific product, order, or store.
- There is a `refunded` workflow state and `refund` transition added to all workflows. There is no logic tied to that additional transition.
- We haven't added any other order statuses as was available in Drupal 7, like `pending`, we will keep it in `draft` to keep it simple for now.
- The `remote_id` is mapped to the value of the `uPayTrackingId`, currently not storing the `paymentGatewayReferenceNumber`
- We are not using `modes` like `live` or `test` because it's easier and less confusing to set that with the environment variables in `settings.php`.
- The **Success**, **Error**, and **Cancel** URLs are presentational only, you can replace the messaging or give a custom page if you prefer.

If you need any of the above please feel free to [request it](https://github.com/ubc-cpsc/commerce_touchnet_upay/issues/new).

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance42

Moderate activity, may be stable

Popularity19

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~116 days

Recently: every ~145 days

Total

6

Last Release

477d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b5a86ed82fb7bb969885e785e3f78b2d43e95352895d5eb48c58b8f3b8bea814?d=identicon)[joelpittet](/maintainers/joelpittet)

---

Top Contributors

[![joelpittet](https://avatars.githubusercontent.com/u/70129?v=4)](https://github.com/joelpittet "joelpittet (29 commits)")[![franceslui](https://avatars.githubusercontent.com/u/104601439?v=4)](https://github.com/franceslui "franceslui (1 commits)")

---

Tags

drupalcommerce

### Embed Badge

![Health badge](/badges/ubc-cpsc-commerce-touchnet-upay/health.svg)

```
[![Health](https://phpackages.com/badges/ubc-cpsc-commerce-touchnet-upay/health.svg)](https://phpackages.com/packages/ubc-cpsc-commerce-touchnet-upay)
```

###  Alternatives

[craftcms/commerce

Craft Commerce

239422.6k185](/packages/craftcms-commerce)[ondrakoupil/csob-eapi-paygate

PHP Client library for easy integration of ČSOB payment gateway

46441.1k3](/packages/ondrakoupil-csob-eapi-paygate)[craftcms/commerce-stripe

Stripe integration for Craft Commerce 5.0+

33159.8k6](/packages/craftcms-commerce-stripe)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
