Merge pull request #2540 from eileenmcnaughton/CRM-14235
[civicrm-core.git] / api / v3 / examples / Contribution / Create.php
CommitLineData
6a488035 1<?php
fb32de45 2/**
3 * Test Generated example of using contribution create API
4 * *
6a488035
TO
5 */
6function contribution_create_example(){
53ca8fd7 7$params = array(
6a488035
TO
8 'contact_id' => 1,
9 'receive_date' => '20120511',
10 'total_amount' => '100',
11 'financial_type_id' => 1,
12 'contribution_page_id' => 1,
13 'trxn_id' => 12345,
14 'invoice_id' => 67890,
15 'source' => 'SSF',
16 'contribution_status_id' => 2,
6a488035
TO
17);
18
fb32de45 19try{
20 $result = civicrm_api3('contribution', 'create', $params);
21}
22catch (CiviCRM_API3_Exception $e) {
23 // handle error here
24 $errorMessage = $e->getMessage();
25 $errorCode = $e->getErrorCode();
26 $errorData = $e->getExtraParams();
27 return array('error' => $errorMessage, 'error_code' => $errorCode, 'error_data' => $errorData);
28}
6a488035 29
fb32de45 30return $result;
6a488035
TO
31}
32
fb32de45 33/**
6a488035
TO
34 * Function returns array of result expected from previous function
35 */
36function contribution_create_expectedresult(){
37
53ca8fd7 38 $expectedResult = array(
6a488035
TO
39 'is_error' => 0,
40 'version' => 3,
41 'count' => 1,
42 'id' => 1,
53ca8fd7 43 'values' => array(
44 '1' => array(
6a488035
TO
45 'id' => '1',
46 'contact_id' => '1',
47 'financial_type_id' => '1',
48 'contribution_page_id' => '1',
8e342a79 49 'payment_instrument_id' => '4',
6a488035
TO
50 'receive_date' => '20120511000000',
51 'non_deductible_amount' => '',
52 'total_amount' => '100',
53 'fee_amount' => '',
54 'net_amount' => '',
55 'trxn_id' => '12345',
56 'invoice_id' => '67890',
57 'currency' => 'USD',
58 'cancel_date' => '',
59 'cancel_reason' => '',
60 'receipt_date' => '',
61 'thankyou_date' => '',
62 'source' => 'SSF',
63 'amount_level' => '',
64 'contribution_recur_id' => '',
65 'honor_contact_id' => '',
66 'is_test' => '',
67 'is_pay_later' => '',
68 'contribution_status_id' => '2',
69 'honor_type_id' => '',
70 'address_id' => '',
71 'check_number' => '',
72 'campaign_id' => '',
a1c68fd2 73 'contribution_type_id' => '1',
6a488035
TO
74 ),
75 ),
76);
77
fb32de45 78 return $expectedResult;
6a488035
TO
79}
80
81
82/*
83* This example has been generated from the API test suite. The test that created it is called
84*
85* testCreateContributionPendingOnline and can be found in
69d79249 86* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
6a488035
TO
87*
88* You can see the outcome of the API tests at
69d79249 89* https://test.civicrm.org/job/CiviCRM-master-git/
6a488035
TO
90*
91* To Learn about the API read
69d79249 92* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
6a488035 93*
69d79249
E
94* Browse the api on your own site with the api explorer
95* http://MYSITE.ORG/path/to/civicrm/api/explorer
6a488035
TO
96*
97* Read more about testing here
98* http://wiki.civicrm.org/confluence/display/CRM/Testing
99*
100* API Standards documentation:
101* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
b259a4ab 102*/