Extends PloneFormGen to payment form.
Project description
Introduction
This package is inteded to integrate html payment form which happens outside of Plone as easy as possible by using forms and adapters generated by PloneFormGen.
Currently tested with
Plone-3.3.5
Plone-4.1b2
Products.PloneFormGen-1.6.0
Example use case
On Plone site, input some price amount on form.
Confirm the amount and go to payment page outside of Plone.
Process the payment.
Go back to Plone site.
General Setup
Once the package is quickinstalled, you need to configure authentication code calculation:
Site Setup >> Payment Config
MAC Code:
This code is provided by payment provider.
Fields:
Input field names which will be used for the calculation line by line.
Separator:
Input separator between field values if necessary.
Capital:
Check this if calculated authentication code need to be upper cases.
Tested HTML Interfaces and their configurations
Verkkomakust S1 (Finland)
Payment Config for testing.
MAC Code:
6pKF4jkv97zmqBJ3ZL8gUw5DfT2NMQ
Fields:
MERCHANT_ID AMOUNT ORDER_NUMBER REFERENCE_NUMBER ORDER_DESCRIPTION CURRENCY RETURN_ADDRESS CANCEL_ADDRESS PENDING_ADDRESS NOTIFY_ADDRESS TYPE CULTURE PRESELECTED_METHOD MODE VISIBLE_METHODS GROUP
Separator:
|
Capital:
Checked
Example use case
Create Form where payment process starts: FormFolder1
Edit >> Overrides >> Custom Success Action:
traverse_to:string:formfolder2
formfolder2 is the next form where the confirmation happens.
Add Decimal Number Field with id named AMOUNT.
Plone automatically set id from title, but with lower cases. To set id upper cases, you may need to change it, for example from Contents tab.
Optionally if you want to send email or show results after the successful payment, add Custom Script Adapter here and describe to script body something like:
items = dict( AMOUNT=request.form["AMOUNT"], topic=request.form["topic"] ) request.SESSION.set("collective.pfg.payment", items)
This means that AMOUNT and topic fields are stored in session and can be displayed after the successful payment.
Create another Form: FormFolder2
Edit >> Overrides >> Custom Form Action:
https://payment.verkkomaksut.fi/
View >> Actions >> Make Order Number Aware:
Change the numbering behavior if necessary.
Add the next fields with String Field.:
MERCHANT_ID AMOUNT ORDER_NUMBER REFERENCE_NUMBER ORDER_DESCRIPTION CURRENCY RETURN_ADDRESS CANCEL_ADDRESS PENDING_ADDRESS NOTIFY_ADDRESS TYPE CULTURE PRESELECTED_METHOD MODE VISIBLE_METHODS GROUP AUTHCODE
The field ids must be upper cases.
These fields below needs to be configured:
MERCHANT_ID ORDER_NUMBER CURRENCY RETURN_ADDRESS CANCEL_ADDRESS NOTIFY_ADDRESS TYPE CULTURE MODE AUTHCODE MERCHANT_ID Edit >> Default 13466 ORDER_NUMBER Edit >> Overrides >> Default Expression python:here.restrictedTraverse('number')() CURRENCY Edit >> Default EUR RETURN_ADDRESS Edit >> Overrides >> Default Expression string:${portal_url}/formfolder3/thank-you/@@payment-succeeded * Assuming that FormFolder3 will be created under plone root. * If field values are not necessary to be sent by e-mail or displayed after successful payment, you can give different address here and FormFolder3 is not necessary. CANCEL_ADDRESS Edit >> Overrides >> Default Expression string:${portal_url}/formfolder1
Assuming that FormFolder1 is created under plone root.
- NOTIFY_ADDRESS
- Edit >> Overrides >> Default Expression
string:${portal_url}
- TYPE
- Edit >> Default
S1
- CULTURE
- Edit >> Default
fi_FI
- MODE
- Edit >> Default
1
- AUTHCODE
- Edit >> Overrides >> Default Expression
python:here.restrictedTraverse(‘auth-code’)
Create another Form: FormFolder3
In case e-mails need to be sent and field values displayed after the successful payment.
To show the field values, you need to add or copy the original field to this FormFolder.
The type of field need to be the same as the original one.
In this case String Field with id topic and Decimal Number Field with id AMOUNT need to be added.
Changelog
0.1.0 (2011-04-15)
Initial release
Installation
Use zc.buildout and the plone.recipe.zope2instance recipe to manage packages:
Add collective.pfg.payment to the list of eggs to install, e.g.:
[buildout] ... eggs = ... collective.pfg.payment
Re-run buildout, e.g. with:
$ ./bin/buildout
Credits
Pekka Saari from the Finnish Association for Nature Conservation (Suomen Luonnonsuojeluliitto) who uses this package in their site: http://www.sll.fi
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file collective.pfg.payment-0.1.0.zip
.
File metadata
- Download URL: collective.pfg.payment-0.1.0.zip
- Upload date:
- Size: 54.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fde0441ac4e0cb6a21aeb084c75054db7543cfa19aa86b3555225ddd691c109f |
|
MD5 | 8ab644737c637b1d05ac315272c6b4b2 |
|
BLAKE2b-256 | 7af6f8f6996a997066eed2149cfd059d0154cbcd852c78de0b9282bac7030b09 |