Details
-
Type: Bug
-
Status: In Progress
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: 4.4.3
-
Fix Version/s: Unscheduled
-
Component/s: CiviEvent
-
Labels:None
-
Versioning Impact:Patch (backwards-compatible bug fixes)
-
Documentation Required?:None
Description
I am using the v3 API to push participants from WordPress into CiviCRM events. Participants can pay for the event or use a gift certificate or coupon to reduce the price. If the price is reduced to $0 but the fee_level is not empty, Civi will respond that there was no error, even provide a participant record ID but nothing will be recorded. Here is the response from the API in that situation:
(
[is_error] => 0
[version] => 3
[count] => 1
[id] => 10294
[values] => Array
(
[10294] => Array
(
[id] => 10294
[contact_id] => 33207
[event_id] => 747
[status_id] => 1
[role_id] => 5
[register_date] => 20150107050023
[source] => WordPress WooCommerce portal - $0 on Order #12394
[fee_level] => Non-member
[is_test] =>
[is_pay_later] =>
[fee_amount] => 0
[registered_by_id] =>
[discount_id] =>
[fee_currency] => USD
[campaign_id] =>
[discount_amount] =>
[cart_id] =>
[must_wait] =>
)
)
)
Searching that participant ID shows no record.
If the participant record is rejected, then there should be no ID and is_error should be set correctly. Otherwise, this should be recorded as-is.