Difference between revisions of "Freeside:3:Documentation:Developer/FS/cust pay pending"
From Freeside
m (Edit via perl MediaWiki framework (1.13)) |
m (Edit via perl MediaWiki framework (1.13)) |
||
Line 58: | Line 58: | ||
; statustext | ; statustext | ||
:Additional status information. | :Additional status information. | ||
+ | ; failure_status | ||
+ | :One of the standard failure status strings defined in [[Freeside:3:Documentation:Developer/Business/OnlinePayment|Business::OnlinePayment]]: "expired", "nsf", "stolen", "pickup", "blacklisted", "declined". If the transaction status is not "declined", this will be empty. | ||
; gatewaynum | ; gatewaynum | ||
:[[Freeside:3:Documentation:Developer/FS/payment gateway|FS::payment_gateway]] id. | :[[Freeside:3:Documentation:Developer/FS/payment gateway|FS::payment_gateway]] id. | ||
Line 94: | Line 96: | ||
:OPTIONS may include any of 'processor', 'payinfo', 'discount_term', 'auth', and 'order_number' to set those fields on the completed payment, as well as 'apply' to apply payments for this customer after inserting the new payment. | :OPTIONS may include any of 'processor', 'payinfo', 'discount_term', 'auth', and 'order_number' to set those fields on the completed payment, as well as 'apply' to apply payments for this customer after inserting the new payment. | ||
− | ; decline [ STATUSTEXT ] | + | ; decline [ STATUSTEXT [ STATUS ] ] |
− | :Sets the status of this pending payment to "done" (with statustext "declined (manual)" unless otherwise specified). | + | :Sets the status of this pending payment to "done" (with statustext "declined (manual)" unless otherwise specified). The optional STATUS can be used to set the failure_status field. |
:Currently only used when resolving pending payments manually. | :Currently only used when resolving pending payments manually. |
Revision as of 10:51, 30 March 2015
Contents
NAME
FS::cust_pay_pending - Object methods for cust_pay_pending records
SYNOPSIS
use FS::cust_pay_pending; $record = new FS::cust_pay_pending \%hash; $record = new FS::cust_pay_pending { 'column' => 'value' }; $error = $record->insert; $error = $new_record->replace($old_record); $error = $record->delete; $error = $record->check;
DESCRIPTION
An FS::cust_pay_pending object represents an pending payment. It reflects local state through the multiple stages of processing a real-time transaction with an external gateway. FS::cust_pay_pending inherits from FS::Record. The following fields are currently supported:
- paypendingnum
- Primary key
- custnum
- Customer (see FS::cust_main)
- paid
- Amount of this payment
- _date
- Specified as a UNIX timestamp; see "time" in perlfunc. Also see Time::Local and Date::Parse for conversion functions.
- payby
- Payment Type (See FS::payinfo_Mixin for valid payby values)
- payinfo
- Payment Information (See FS::payinfo_Mixin for data format)
- paymask
- Masked payinfo (See FS::payinfo_Mixin for how this works)
- paydate
- Expiration date
- payunique
- Unique identifer to prevent duplicate transactions.
- pkgnum
- Desired pkgnum when using experimental package balances.
- status
- Pending transaction status, one of the following:
- new
- Aquires basic lock on payunique
- pending
- Transaction is pending with the gateway
- thirdparty
- Customer has been sent to an off-site payment gateway to complete processing
- authorized
- Only used for two-stage transactions that require a separate capture step
- captured
- Transaction completed with payment gateway (sucessfully), not yet recorded in the database
- declined
- Transaction completed with payment gateway (declined), not yet recorded in the database
- done
- Transaction recorded in database
- statustext
- Additional status information.
- failure_status
- One of the standard failure status strings defined in Business::OnlinePayment: "expired", "nsf", "stolen", "pickup", "blacklisted", "declined". If the transaction status is not "declined", this will be empty.
- gatewaynum
- FS::payment_gateway id.
- paynum
- Payment number (FS::cust_pay) of the completed payment.
- void_paynum
- Payment number of the payment if it's been voided.
- invnum
- Invoice number (FS::cust_bill) to try to apply this payment to.
- manual
- Flag for whether this is a "manual" payment (i.e. initiated through self-service or the back-office web interface, rather than from an event or a payment batch). "Manual" payments will cause the customer to be sent a payment receipt rather than a statement.
- discount_term
- Number of months the customer tried to prepay for.
METHODS
- new HASHREF
- Creates a new pending payment. To add the pending payment to the database, see "insert".
- Note that this stores the hash reference, not a distinct copy of the hash it points to. You can ask the object for a copy with the hash method.
- insert
- Adds this record to the database. If there is an error, returns the error, otherwise returns false.
- delete
- Delete this record from the database.
- replace OLD_RECORD
- Replaces the OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false.
- check
- Checks all fields to make sure this is a valid pending payment. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.
- cust_main
- Returns the associated FS::cust_main record if any. Otherwise returns false.
- insert_cust_pay
- Sets the status of this pending pament to "done" (with statustext "captured (manual)"), and inserts a payment record (see FS::cust_pay).
- Currently only used when resolving pending payments manually.
- approve OPTIONS
- Sets the status of this pending payment to "done" and creates a completed payment (FS::cust_pay). This should be called when a realtime or third-party payment has been approved.
- OPTIONS may include any of 'processor', 'payinfo', 'discount_term', 'auth', and 'order_number' to set those fields on the completed payment, as well as 'apply' to apply payments for this customer after inserting the new payment.
- decline [ STATUSTEXT [ STATUS ] ]
- Sets the status of this pending payment to "done" (with statustext "declined (manual)" unless otherwise specified). The optional STATUS can be used to set the failure_status field.
- Currently only used when resolving pending payments manually.
BUGS
SEE ALSO
FS::Record, schema.html from the base documentation.