README.md in pxpay-0.1.8 vs README.md in pxpay-0.2.0
- old
+ new
@@ -1,65 +1,71 @@
PxPay
=======
A Rubygem to integrate DPS-hosted payments through the Payment Express PxPay system.
+Notice:
+-------
+The upgrade from 0.1.3 - 0.2.0 is not backwards compatible. It has changed from a yml file to variables for config
+
For self-hosted systems check out the amazing [ActiveMerchant](https://www.github.com/Shopify/active_merchant) gem.
See <http://www.paymentexpress.com/technical_resources/ecommerce_hosted/pxpay.html> or <http://www.paymentexpress.com/downloads/DPSECOM_PXPay.pdf> for more details about PxPay.
Installation
------------
Install from Rubygems
gem install pxpay
Then run `rails generate pxpay:install` to copy an initializer and a config yml file to your rails app.
-Make sure you add your own development credentials to the `config/pxpay.yml` file and create success and failure URLs for Payment Express to redirect you back to
+Make sure you add your own development credentials to the `config/initializers/pxpay.rb` file and create success and failure URLs for Payment Express to redirect you back.
You can apply for a development account at <https://www.paymentexpress.com/pxmi/apply>
Usage
-----
>> require 'nokogiri'
>> require 'pxpay'
>> request = Pxpay::Request.new( 1, 12.00 )
=> #<Pxpay::Request:0x00000101c9a840 >
>> request.url
- => "https://sec2.paymentexpress.com/pxpay/pxpay.aspx?userid=Fake_Dev&request=xxxxxxxxxx"
+ => "https://sec2.paymentexpress.com/pxpay/pxpay.aspx?userid=Fake_Dev&request=xxxxxxxxxx"
To send your customer to Payment Express for payment make a call to Pxpay::Request to request a redirection URL
-
+
def create
request = Pxpay::Request.new( id , price, options )
redirect_to request.url
end
-
-Once your customer has entered their details Payment Express will redirect them back to the success URL that you provided.
+Once your customer has entered their details Payment Express will redirect them back to the success URL that you provided.
+
Use Pxpay:Response to get the transaction details back from Payment Express.
def success
response = Pxpay::Response.new(params).response
hash = response.to_hash
## Do something with the results hash
end
-
-N.B. There is a minor caveat here: Payment Express includes a system called fail-proof result notification where as soon as the customer has finished the transaction they will send a background request.
+N.B. There is a minor caveat here: Payment Express includes a system called fail-proof result notification where as soon as the customer has finished the transaction they will send a background request.
+
This means your success/failure URL will be hit at least twice for each transaction, so you must allow for this in your code. See <http://www.paymentexpress.com/technical_resources/ecommerce_hosted/pxpay.html#ResultNotification> for details.
+
+Token Billing can be implemented by setting `:token_billing => true` inside the Request option hash.
N.B.
----
This gem is in no way endorsed or affiliated with Payment Express
TODO
----
* Add ability to set global configuration options
* Add more tests
-* Token Billing
+* Add support for optional text fields
Contributing to PxPay
-=====================
+=====================
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
* Fork the project
* Start a feature/bugfix branch
* Commit and push until you are happy with your contribution