Payment from Customers
|
This page describes payment and payment setup. |
Choose an interface
Application payment configuration may be done at either of 2 interfaces:- point and click interface
- manual code interface - edit util.php
Point and click interface
To make changes to how payment is handled:login to admin > Setup > Edit Configuration > Payment settings
Choose from:
- off - no payment is possible
- elective - the customer decides to upgrade and pay, or not
- required - immediately takes the customer to the checkout
API
For other payment info see the API.Detail
Click a link to the following:
- Overview
- Listing types and setting prices
- Set Listing Duration
- Payment methods
- Paypal instructions
- Other gateways
- Approving a customer payment - explanation
- Data out and in - Technical Specifications
- Offer to connect payment gateway
Overview
You may offer free listings to every visitor to your directory. Listings may all be free. Listings can also be paid. If you will be receiving payment, you first decide if the payment will be "elective" or "required". For directions on how to turn payment logic on or off see admin > Setup > Edit Configuration > Payment settings
Listing types and setting prices
You decide the prices to charge for your listings. Default prices are provided. see listing_how_to_improve.php for detailed listing comparisons/* phpYellow Listing Types and Your Pricing
define("LISTING_TYPE_A", "Sponsor"); define("LISTING_TYPE_B", "Gold"); define("LISTING_TYPE_C", "Silver"); define("LISTING_TYPE_D", "Bronze"); define("LISTING_TYPE_E", "Test"); define("LISTING_TYPE_F", "Mini Webpage"); define("TYPE_A_PRICE", "240.00"); define("TYPE_B_PRICE", "180.00"); define("TYPE_C_PRICE", "120.00"); define("TYPE_D_PRICE", "00.00"); define("TYPE_E_PRICE", "00.10"); define("TYPE_F_PRICE", "180.00");
Table of listing types, their default rank and label
For each listing type there is a corresponding signed integer value used by the database. Following are the values assigned:
| listing type | rank | label |
|---|---|---|
| LISTING_TYPE_E | 2* | test |
| LISTING_TYPE_D | 0 | bronze |
| LISTING_TYPE_C | 1 | silver |
| LISTING_TYPE_B | 2 | gold |
| LISTING_TYPE_F | 3 | mini webpage |
| LISTING_TYPE_A | 4 | sponsor |
Disable Listing Types
Listing types are all available by default. When a listing is upgraded to "Silver" the rank of the listing is changed to the value of 1. To NOT display a listing type comment out with 2 forward slashes, like this:// define("LISTING_TYPE_E", "Test"); // for testing only*
Alternatively use the admin point and click interface here:
admin > Setup > Edit Configuration > Payment settings > Listing types
*Note: disable the test listing type before going live.
Currency Symbol
The currency symbol is the dollar character "$" by default. This may be changed
to your currency character, for example the Euro or pound, by inserting the symbol in util.php
like this:
define("CURRENCYSYMBOL", "$"); // replace the dollar character with your symbol
Set Listing Duration
The default durations are 1 year, 6 months and 3 months.
If you wish to customize the duration offered the process is:
1. SET UP THE OPTIONS a) modify the html page duration.php with radio buttons, one selection per month desired, and call the month selected as '$monthsGoodFor' b) include duration.php in checkout.php, for example in the 'Listing Type' column 2. PROCESS THE SELECTION c) add your own script code section in buy.php to: i) initialize or capture the new $monthsGoodFor variable ii) assign a price for the $monthsGoodFor selected iii) update the $chargeTotal Note: see buy.php: switch($item)
Payment methods
Given that you have decided to receive payment, the next decision is what payment methods will you accept? Default payment methods are included. These default methods include:|
Paypal / Credit card Alternate Credit Card Credit Card by Fax Credit Card by Phone Credit Card by Mail Check by Fax Check by Mail Money Order by Mail Travelers Checks Wire Email Invoice to me US Currency ( via courier or registered mail ) |
Each method has a corresponding code module which processes it. If you set aside "Credit Card by Internet" and only consider all the others, you see that the customer must communicate with you to arrange for payment.
How to remove payment methods
To remove methods do this:- open paymentMethodsListAll.php in an html editor
- to remove a payment method delete the line it is on
- save this modified file as paymentMethodsList.php
- paymentMethodsList.php is automatically included in the online form
Example: to remove 'Credit Card by Internet' delete all of line 9 and next save this file as paymentMethodsList.php.
Set a default method
In the file paymentMethodsList.php move the word "CHECKED" to the html tag you want as the default.Credit Card by Internet
If you have selected payment by Credit Card by Internet then customer payment is handled differently. You need to have a payment gateway provider for this method. The provider will approve or decline the transaction. You also need to supply the code to post the transaction to your provider, and then supply code to respond to the transaction outcome.If you use Paypal default connect code is provided.
Paypal instructions
Your phpYellow Pro EditionTM will run 'out of the box' by adding your Paypal email address to util.php. The payments selected by the customer are recurring - subscription payments that automatically renew in your paypal account. All of this is already setup. You do nothing except add your Paypal address.You can also add your Paypal email address via point and click using admin > settings > Edit Configuration.
Legacy code
This link contains special information about changing the default currency. If you only use US dollars ignore this section. See: legacy code.Approving a customer payment - explanation
> We are currently set for listings to be pending -- when someone > places an order, they can pay online or pay by mailing a check. In some > cases, we may choose to put the check order immediately online, in others, > we may wait until the check is received. > > BUT, there doesn't seem to be anywhere in the admin interface that shows, > if it was paid by check, if the check was received, or a way to see "open" > orders. Are we missing this? _________________________________The phpYellow listing is either 'pending', 'approved' or 'expired'. This is shown with each listing in the client control panel, and may also be seen from admin when managing listings. The status of any listing may be changed with:
- use > Manager > HyperManage > listing 'Status' button
- use > Manager > "Work with Single Listing' tool also on the Manager page
When Status is changed
The status variable is NEVER changed except manually by the site administrator using the manually initated tools as described, or if configured, by a confirmed automatic payment gateway transaction (not included).In all other cases, for example if a check is sent, the listing status is set by the site administrator.
For tracking electronic payments made by your customers use the tools provided by your payment gateway. phpYellow does not duplicate the secure and encrypted e-payment tools already provided by your payment gateway. You are also free to use any offline method you choose to manage any offline payment transactions, if you accept offline payments.
Email notification of payment
The payment gateway will send its own payment notification by email.Other gateways
You can choose any processor you like. We can write code to connect to your chosen gateway. The code to connect to your chosen gateway will require additional payment not included in a license purchase. Please inquire by sending us the name of the gateway you want to use. We will tell you our price to connect to that gateway.phpYellow Pro EditionTM can be connected with other gateways such as 2checkout, Authorizenet, Linkpoint International or others. To connect with other gateways you will need to provide code which is not included. The code - also called a script - needs to "talk" with your specific payment gateway. Your gateway may or may not need to have custom made code to complete a payment transaction.