diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-peachpayments-partner-marshmallow.spec | 174 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 176 insertions, 0 deletions
@@ -0,0 +1 @@ +/peachpayments_partner_marshmallow-1.1.0.tar.gz diff --git a/python-peachpayments-partner-marshmallow.spec b/python-peachpayments-partner-marshmallow.spec new file mode 100644 index 0000000..6057e1c --- /dev/null +++ b/python-peachpayments-partner-marshmallow.spec @@ -0,0 +1,174 @@ +%global _empty_manifest_terminate_build 0 +Name: python-peachpayments-partner-marshmallow +Version: 1.1.0 +Release: 1 +Summary: PeachPayments Partner Marshmallow library contains Marshmallow schemas to help integrate PeachPayments with their partners. +License: MIT +URL: https://gitlab.com/peachpayments/peachpayments-partner-marshmallow/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/fa/1a/33305d61fcc06a2b6b22ed9f68842dfe4d79430fdd2d967bd1d6ac407f70/peachpayments_partner_marshmallow-1.1.0.tar.gz +BuildArch: noarch + +Requires: python3-iso4217 +Requires: python3-marshmallow +Requires: python3-peachpayments-partner + +%description +### Key terms +| Term | Definition | +|---------------------------- |-------------- | +| Partner API | A service provided by Peach Payments to enable Payment Service Providers to become available on the Peach Platform | +| Payment Service Provider | A payment service provider who integrates with the Partner API | +| Outbound API call | API calls sent from Partner API to the Payment Service Provider | +| Inbound API call | API calls sent from Payment Service Provider to Partner API | +## Usage +Package requires Python 3.9+ +### Installation +```sh +# pip +$ pip3 install peachpayments-partner-marshmallow +``` +```sh +# poetry +$ poetry add peachpayments-partner-marshmallow +``` +### Field validation +Payment Service Provider receives a debit request from PeachPayments. +```python +# ... imports +from peachpayments_partner_marshmallow.validator import validate_debit_request, validate_debit_response +def debit(db: Session, data: dict): + request_validation = validate_debit_request(data) + if not request_validation["valid"]: + raise HttpJSONError(request_validation["response"]) + # Store a transaction in a database + # Prepare the response to PeachPayments in the `response_fields` dictionary + response_validation = validate_debit_response(response_fields) + if not response_validation["valid"]: + raise Exception("Badly formatted response fields") + return HttpResponse(response_fields) +``` + +%package -n python3-peachpayments-partner-marshmallow +Summary: PeachPayments Partner Marshmallow library contains Marshmallow schemas to help integrate PeachPayments with their partners. +Provides: python-peachpayments-partner-marshmallow +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-peachpayments-partner-marshmallow +### Key terms +| Term | Definition | +|---------------------------- |-------------- | +| Partner API | A service provided by Peach Payments to enable Payment Service Providers to become available on the Peach Platform | +| Payment Service Provider | A payment service provider who integrates with the Partner API | +| Outbound API call | API calls sent from Partner API to the Payment Service Provider | +| Inbound API call | API calls sent from Payment Service Provider to Partner API | +## Usage +Package requires Python 3.9+ +### Installation +```sh +# pip +$ pip3 install peachpayments-partner-marshmallow +``` +```sh +# poetry +$ poetry add peachpayments-partner-marshmallow +``` +### Field validation +Payment Service Provider receives a debit request from PeachPayments. +```python +# ... imports +from peachpayments_partner_marshmallow.validator import validate_debit_request, validate_debit_response +def debit(db: Session, data: dict): + request_validation = validate_debit_request(data) + if not request_validation["valid"]: + raise HttpJSONError(request_validation["response"]) + # Store a transaction in a database + # Prepare the response to PeachPayments in the `response_fields` dictionary + response_validation = validate_debit_response(response_fields) + if not response_validation["valid"]: + raise Exception("Badly formatted response fields") + return HttpResponse(response_fields) +``` + +%package help +Summary: Development documents and examples for peachpayments-partner-marshmallow +Provides: python3-peachpayments-partner-marshmallow-doc +%description help +### Key terms +| Term | Definition | +|---------------------------- |-------------- | +| Partner API | A service provided by Peach Payments to enable Payment Service Providers to become available on the Peach Platform | +| Payment Service Provider | A payment service provider who integrates with the Partner API | +| Outbound API call | API calls sent from Partner API to the Payment Service Provider | +| Inbound API call | API calls sent from Payment Service Provider to Partner API | +## Usage +Package requires Python 3.9+ +### Installation +```sh +# pip +$ pip3 install peachpayments-partner-marshmallow +``` +```sh +# poetry +$ poetry add peachpayments-partner-marshmallow +``` +### Field validation +Payment Service Provider receives a debit request from PeachPayments. +```python +# ... imports +from peachpayments_partner_marshmallow.validator import validate_debit_request, validate_debit_response +def debit(db: Session, data: dict): + request_validation = validate_debit_request(data) + if not request_validation["valid"]: + raise HttpJSONError(request_validation["response"]) + # Store a transaction in a database + # Prepare the response to PeachPayments in the `response_fields` dictionary + response_validation = validate_debit_response(response_fields) + if not response_validation["valid"]: + raise Exception("Badly formatted response fields") + return HttpResponse(response_fields) +``` + +%prep +%autosetup -n peachpayments-partner-marshmallow-1.1.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-peachpayments-partner-marshmallow -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.0-1 +- Package Spec generated @@ -0,0 +1 @@ +6d9f8db6b47e51277673ffb3c37827cb peachpayments_partner_marshmallow-1.1.0.tar.gz |