Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
a89b9bac
Commit
a89b9bac
authored
Nov 17, 2014
by
Will Daly
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #5916 from edx/will/ecom-543
Send transaction type for donations and verified certificates
parents
37e38026
12fec6c9
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
3 deletions
+41
-3
lms/djangoapps/shoppingcart/tests/test_views.py
+10
-0
lms/djangoapps/shoppingcart/views.py
+7
-1
lms/djangoapps/verify_student/tests/test_views.py
+23
-1
lms/djangoapps/verify_student/views.py
+1
-1
No files found.
lms/djangoapps/shoppingcart/tests/test_views.py
View file @
a89b9bac
...
...
@@ -1246,6 +1246,16 @@ class DonationViewTest(ModuleStoreTestCase):
payment_info
[
"payment_params"
][
"merchant_defined_data1"
],
unicode
(
course_id
)
)
self
.
assertEqual
(
payment_info
[
"payment_params"
][
"merchant_defined_data2"
],
"donation_course"
)
else
:
self
.
assertEqual
(
payment_info
[
"payment_params"
][
"merchant_defined_data1"
],
""
)
self
.
assertEqual
(
payment_info
[
"payment_params"
][
"merchant_defined_data2"
],
"donation_general"
)
processor_response_params
=
PaymentFakeView
.
response_post_params
(
payment_info
[
"payment_params"
])
...
...
lms/djangoapps/shoppingcart/views.py
View file @
a89b9bac
...
...
@@ -490,6 +490,12 @@ def donate(request):
reverse
(
"shoppingcart.views.postpay_callback"
)
)
# Add extra to make it easier to track transactions
extra_data
=
[
unicode
(
course_id
)
if
course_id
else
""
,
"donation_course"
if
course_id
else
"donation_general"
]
response_params
=
json
.
dumps
({
# The HTTP end-point for the payment processor.
"payment_url"
:
get_purchase_endpoint
(),
...
...
@@ -498,7 +504,7 @@ def donate(request):
"payment_params"
:
get_signed_purchase_params
(
cart
,
callback_url
=
callback_url
,
extra_data
=
([
unicode
(
course_id
)]
if
course_id
else
None
)
extra_data
=
extra_data
),
})
...
...
lms/djangoapps/verify_student/tests/test_views.py
View file @
a89b9bac
...
...
@@ -697,8 +697,30 @@ class TestCreateOrder(ModuleStoreTestCase):
data
=
json
.
loads
(
response
.
content
)
self
.
assertEqual
(
data
[
'override_custom_receipt_page'
],
"http://testserver/shoppingcart/postpay_callback/"
)
# Verify that the course ID
is
included in "merchant-defined data"
# Verify that the course ID
and transaction type are
included in "merchant-defined data"
self
.
assertEqual
(
data
[
'merchant_defined_data1'
],
unicode
(
self
.
course
.
id
))
self
.
assertEqual
(
data
[
'merchant_defined_data2'
],
"verified"
)
def
test_create_order_already_verified_prof_ed
(
self
):
# Verify the student so we don't need to submit photos
self
.
_verify_student
()
# Create a prof ed course
course
=
CourseFactory
.
create
()
CourseModeFactory
(
mode_slug
=
"professional"
,
course_id
=
course
.
id
)
# Create an order for a prof ed course
url
=
reverse
(
'verify_student_create_order'
)
params
=
{
'course_id'
:
unicode
(
course
.
id
)
}
response
=
self
.
client
.
post
(
url
,
params
)
self
.
assertEqual
(
response
.
status_code
,
200
)
# Verify that the course ID and transaction type are included in "merchant-defined data"
data
=
json
.
loads
(
response
.
content
)
self
.
assertEqual
(
data
[
'merchant_defined_data1'
],
unicode
(
course
.
id
))
self
.
assertEqual
(
data
[
'merchant_defined_data2'
],
"professional"
)
def
test_create_order_set_donation_amount
(
self
):
# Verify the student so we don't need to submit photos
...
...
lms/djangoapps/verify_student/views.py
View file @
a89b9bac
...
...
@@ -238,7 +238,7 @@ def create_order(request):
params
=
get_signed_purchase_params
(
cart
,
callback_url
=
callback_url
,
extra_data
=
[
unicode
(
course_id
)]
extra_data
=
[
unicode
(
course_id
)
,
current_mode
.
slug
]
)
params
[
'success'
]
=
True
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment