From f8fad460cfa12cd191672945597b5164b2fe1260 Mon Sep 17 00:00:00 2001 From: Benedict Etzel Date: Sun, 18 Nov 2018 22:14:15 +0100 Subject: [PATCH] Add refund_to_payer to Refund --- CHANGELOG.md | 2 ++ .../migrations/0008_refund_refund_to_payer.py | 19 ++++++++++++++++ djpaypal/models/payments.py | 1 + .../webhooks/payment.sale.refunded.json | 22 +++++++++++++++++-- 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 djpaypal/migrations/0008_refund_refund_to_payer.py diff --git a/CHANGELOG.md b/CHANGELOG.md index fda164c..4d9cc93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## Fixed +- Fix missing field "refund_to_payer" in Refund model ## [0.10.0] - 2018-11-18 ### Added diff --git a/djpaypal/migrations/0008_refund_refund_to_payer.py b/djpaypal/migrations/0008_refund_refund_to_payer.py new file mode 100644 index 0000000..2c1fb4a --- /dev/null +++ b/djpaypal/migrations/0008_refund_refund_to_payer.py @@ -0,0 +1,19 @@ +# Generated by Django 2.1.2 on 2018-11-18 22:14 + +from django.db import migrations +import djpaypal.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('djpaypal', '0007_sale_invoice_number'), + ] + + operations = [ + migrations.AddField( + model_name='refund', + name='refund_to_payer', + field=djpaypal.fields.CurrencyAmountField(editable=False, null=True), + ), + ] diff --git a/djpaypal/models/payments.py b/djpaypal/models/payments.py index cc0a867..e4c7657 100644 --- a/djpaypal/models/payments.py +++ b/djpaypal/models/payments.py @@ -67,6 +67,7 @@ class Refund(PaypalObject): max_length=31, choices=enums.RefundReasonCode.choices, editable=False, help_text="The PayPal-assigned reason codes for the refund." ) + refund_to_payer = CurrencyAmountField(null=True, editable=False) refund_funding_type = models.CharField( max_length=6, choices=enums.RefundFundingType.choices, editable=False, help_text=( diff --git a/tests/fixtures/webhooks/payment.sale.refunded.json b/tests/fixtures/webhooks/payment.sale.refunded.json index 092188f..474ffbb 100644 --- a/tests/fixtures/webhooks/payment.sale.refunded.json +++ b/tests/fixtures/webhooks/payment.sale.refunded.json @@ -3,10 +3,10 @@ "create_time": "2014-10-31T15:42:24Z", "resource_type": "sale", "event_type": "PAYMENT.SALE.REFUNDED", - "summary": "A 0.01 USD sale payment was refunded", + "summary": "A 0.02 USD sale payment was refunded", "resource": { "amount": { - "total": "-0.01", + "total": "0.02", "currency": "USD" }, "id": "6YX43824R4443062K", @@ -14,6 +14,24 @@ "update_time": "2014-10-31T15:41:51Z", "state": "completed", "create_time": "2014-10-31T15:41:51Z", + "invoice_number": "", + "refund_from_received_amount": { + "total": "0.01", + "currency": "USD" + }, + "refund_from_transaction_fee": { + "total": "0.01", + "currency": "USD" + }, + "refund_reason_code": "REFUND", + "refund_to_payer": { + "total": "0.02", + "currency": "USD" + }, + "total_refunded_amount": { + "total": "0.02", + "currency": "USD" + }, "links": [ { "href": "https://api.paypal.com/v1/payments/refund/6YX43824R4443062K",