diff --git a/commerce_dps.info b/commerce_dps.info
new file mode 100644
index 0000000000000000000000000000000000000000..7b02f6956eb4bfe781e6b6d9ccf4349d5ef6022f
--- /dev/null
+++ b/commerce_dps.info
@@ -0,0 +1,7 @@
+name = Commerce DPS
+description = Provides shared DPS functions used by the various DPS payment methods
+core = 7.x
+version = 7.x-1.x-dev
+package = Commerce (contrib)
+
+files[] = commerce_dps.module
diff --git a/commerce_dps.module b/commerce_dps.module
new file mode 100644
index 0000000000000000000000000000000000000000..d9b27b5808bcc23f5f5f2b2e774cec1b1003ca3b
--- /dev/null
+++ b/commerce_dps.module
@@ -0,0 +1,34 @@
+<?php
+
+/**
+ * @file
+ * Provides shared functions for use by DPS payment methods.
+ */
+
+/**
+ * Returns an array of possible currency codes.
+ */
+function commerce_dps_currencies() {
+  return array(
+    'AUD' => 'Australian Dollar',
+    'CAD' => 'Canadian Dollar',
+    'EUR' => 'Euro',
+    'FJD' => 'Fiji Dollar',
+    'FRF' => 'French Franc',
+    'HKD' => 'Hong Kong Dollar',
+    'JPY' => 'Japanese Yen',
+    'KWD' => 'Kuwaiti Dinar',
+    'MYR' => 'Malaysian Ringgit',
+    'NZD' => 'New Zealand Dollar',
+    'PNG' => 'Papua New Guinea Kina',
+    'ZAR' => 'South African Rand',
+    'SGD' => 'Singapore Dollar',
+    'SBD' => 'Solomon Islands Dollar',
+    'TOP' => 'Tongan Pa\'anga',
+    'WST' => 'Samoan Tala',
+    'CHF' => 'Swiss Franc',
+    'GBP' => 'United Kingdom Pound',
+    'USD' => 'United States Dollar',
+    'VUV' => 'Vanuatu Vatu',
+  );
+}
diff --git a/images/paymentexpress.png b/images/paymentexpress.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b45dcdf8a536d132730d338587a96423e026b6c
GIT binary patch
literal 13625
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
R1iDl~a#G5YH4?^w{{yM71g!u7

literal 0
HcmV?d00001

