से लेनदेन विवरण प्राप्त करना मुझे authorize.net लेनदेन विवरण API (documentation here) की समझ में कुछ परेशानी हो रही है। मैं संक्षिप्त होने के लिए अपनी पूरी कोशिश करूंगा।authorize.net
प्राधिकरण से लेनदेन स्थिति अपडेट खींचने का एकमात्र व्यावहारिक तरीका (उनकी 'मूक पोस्ट' सुविधा का उपयोग किए बिना, जो कि दुःस्वप्न * के बड़े बैग की तरह दिखता है), बसने वाले लेनदेन की बैच सूची प्राप्त करना है (मान लीजिए कि दिन) और फिर प्रत्येक बसने वाले बैच के लिए लेनदेन सूचियों को खींचें। उदाहरण:
public function getTransactionsForDay($month = false, $day = false, $year = false)
{
$transactions = array();
$month = ($month ? $month : date('m'));
$day = ($day ? $day : date('d'));
$year = ($year ? $year : date('Y'));
$firstSettlementDate = substr(date('c',mktime(0, 0, 0, (int)$month, (int)$day, (int)$year)),0,-6);
$lastSettlementDate = substr(date('c',mktime(0, 0, 0, (int)$month, (int)$day, (int)$year)),0,-6);
$response = $this->getSettledBatchList(true, $firstSettlementDate, $lastSettlementDate);
$batches = $response->xpath("batchList/batch");
foreach ($batches as $batch) {
$batch_id = (string)$batch->batchId;
$request = new AuthorizeNetTD;
$tran_list = $request->getTransactionList($batch_id);
$transactions = array_merge($transactions, $tran_list->xpath("transactions/transaction"));
}
return $transactions;
}
$request = new AuthorizeNetTD;
$transactions = $request->getTransactionsForDay(12, 8, 2010);
$this->assertTrue(is_array($transactions));
फिर भी, संभावित लेनदेन की स्थिति बहुत अधिक है।
ये 'अंतिम' और अपरिवर्तनीय होना दिखाई:
- communicationError
- refundSettledSuccessfully
- मना कर दिया
- couldNotVoid
- समाप्त हो गई है
- generalError
- failedReview
- settledSuccessfully
- settlementError
- अमान्य कर
निम्नलिखित प्रकट करने के लिए 'लंबित' जा स्थितियां:
- authorizedPendingCapture
- capturedPendingSettlement
- refundPendingSettlement
- pendingFina lSettlement
- pendingSettlement
- underReview
- updatingSettlement
- FDSPendingReview
- FDSAuthorizedPendingReview
- authorizedPendingRelease
ये, मुझे यकीन है कि नहीं कर रहा हूँ के बारे में:
- returnedItem (?)
- चार्जबैक (?)
- chargebackReversal (?)
- approvedReview (?)
getUnsettledTransactionList अभी पिछले 1000 'अस्थिर' अपनी गोद में लेनदेन, मना कर दिया सहित उदासीनता, त्रुटि, इत्यादि - इसे बहुत अविश्वसनीय बनाते हुए, उल्लेख नहीं है कि आपको उस जंक को पार्स करना है।
तो, मेरे सवाल कर रहे हैं:
क्या पिछले चार ऊपर स्थितियों के साथ हो रहा है? क्या मुझे उन लोगों को बदलने की उम्मीद करनी चाहिए या नहीं?
इनमें से कौन सा 'बसने' बैच में जाता है? (
settlementError
औरsettledSuccessfully
? बसsettledSuccessfully
?)बिलिंग लेन-देन आवर्ती करो (documentation here) भी बसे बैचों में दिखाई?
क्या सभी अप्रासंगिक
error
,declined
, आदि को अनदेखा करने के लिए केवल 'लंबित' लेनदेन को अधिकृत करने का कोई तरीका नहीं है? आवर्ती बिलिंग के लिए यह जरूरी लगता है - क्योंकि अन्यथा, एक ऐप (लेनदेन आईडी के बदले में) को यह जानने का कोई तरीका नहीं है कि सब्सक्रिप्शन लेनदेन में कोई समस्या है या नहीं, जब तक पर्याप्त समय बीतता है कि आप सुरक्षित रूप से मान सकते हैं कि इसे दिखाया जाना चाहिए था एक बसने वाला बैच
* दो सेकंड का समय समाप्त करने के लिए, असफल और कभी नहीं बात करने के लिए आप फिर से कारण पॉलिसी, प्लस उन पर भरोसा करने के लिए ठीक से उनके सेटिंग्स कॉन्फ़िगर करने के
आप [समर्थन मंचों] में पूछना चाहिए (http://community.developer.authorize.net/t5/एकीकरण और परीक्षण/BD-पी/Integration01)। उनके कर्मचारी वहां लटकते हैं और आपके लिए इस तरह के सवालों का जवाब दे सकते हैं। –