Skip to content

Commit a87d2db

Browse files
iulian03Iulian Masar
and
Iulian Masar
authored
handle latest payconiq api url (#388)
Co-authored-by: Iulian Masar <iulian.masar@codegile.com>
1 parent 1a2ef22 commit a87d2db

File tree

2 files changed

+52
-1
lines changed

2 files changed

+52
-1
lines changed

mangopay/resources.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1077,6 +1077,30 @@ class Meta:
10771077
}
10781078

10791079

1080+
@python_2_unicode_compatible
1081+
class PayconiqV2PayIn(PayIn):
1082+
author = ForeignKeyField(User, api_name='AuthorId', required=True)
1083+
debited_funds = MoneyField(api_name='DebitedFunds', required=True)
1084+
fees = MoneyField(api_name='Fees', required=True)
1085+
return_url = CharField(api_name='ReturnURL', required=True)
1086+
credited_wallet = ForeignKeyField(Wallet, api_name='CreditedWalletId', required=True)
1087+
redirect_url = CharField(api_name='RedirectURL')
1088+
creation_date = DateField(api_name='CreationDate')
1089+
expiration_date = CharField(api_name='ExpirationDate')
1090+
deep_link_url = CharField(api_name='DeepLinkURL')
1091+
country = CharField(api_name='Country', required=True)
1092+
statement_descriptor = CharField(api_name='StatementDescriptor')
1093+
qr_code_url = CharField(api_name='QRCodeURL')
1094+
1095+
class Meta:
1096+
verbose_name = 'payin'
1097+
verbose_name_plural = 'payins'
1098+
url = {
1099+
InsertQuery.identifier: '/payins/payment-methods/payconiq',
1100+
SelectQuery.identifier: '/payins'
1101+
}
1102+
1103+
10801104
class ApplepayPayIn(PayIn):
10811105
tag = CharField(api_name='Tag')
10821106
author = ForeignKeyField(User, api_name='AuthorId', required=True)

tests/test_payins.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
RecurringPayInRegistration, \
99
RecurringPayInCIT, PayInRefund, RecurringPayInMIT, CardPreAuthorizedDepositPayIn, MbwayPayIn, PayPalWebPayIn, \
1010
GooglePayDirectPayIn, MultibancoPayIn, SatispayPayIn, BlikPayIn, KlarnaPayIn, IdealPayIn, GiropayPayIn, \
11-
CardRegistration, BancontactPayIn, SwishPayIn
11+
CardRegistration, BancontactPayIn, SwishPayIn, PayconiqV2PayIn
1212
from mangopay.utils import (Money, ShippingAddress, Shipping, Billing, Address, SecurityInfo, ApplepayPaymentData,
1313
GooglepayPaymentData, DebitedBankAccount, LineItem, CardInfo)
1414
from tests import settings
@@ -1871,3 +1871,30 @@ def test_RecurringPayment_CheckCardInfo(self):
18711871
mit_card_info = created_mit['card_info']
18721872
self.assertIsNotNone(mit_card_info)
18731873
self.assertIsInstance(mit_card_info, CardInfo)
1874+
1875+
def test_PayIns_Payconiq_Web_Create(self):
1876+
user = BaseTestLive.get_john(True)
1877+
1878+
# create wallet
1879+
credited_wallet = Wallet()
1880+
credited_wallet.owners = (user,)
1881+
credited_wallet.currency = 'EUR'
1882+
credited_wallet.description = 'WALLET IN EUR'
1883+
credited_wallet = Wallet(**credited_wallet.save())
1884+
1885+
payin = PayconiqV2PayIn()
1886+
payin.credited_wallet = credited_wallet
1887+
payin.author = user
1888+
payin.debited_funds = Money(amount=10000, currency='EUR')
1889+
payin.fees = Money(amount=0, currency='EUR')
1890+
payin.return_url = 'https://test.com'
1891+
payin.country = 'BE'
1892+
result = PayconiqV2PayIn(**payin.save())
1893+
1894+
self.assertIsNotNone(result)
1895+
self.assertEqual("CREATED", result.status)
1896+
self.assertEqual("REGULAR", result.nature)
1897+
self.assertEqual("WEB", result.execution_type)
1898+
self.assertEqual("PAYCONIQ", result.payment_type)
1899+
self.assertIsNotNone(result.deep_link_url)
1900+
self.assertIsNotNone(result.qr_code_url)

0 commit comments

Comments
 (0)