The document provides documentation for the Gharpay REST API. It lists the API endpoints for creating orders, adding/canceling products, viewing order status and details, and retrieving city/pincode information. Each request requires HTTP basic authentication with a provided username and password. It describes the createOrder endpoint in depth, listing required and optional parameters for customer details, order details, and additional information.
These are the slides from my presentation at the 2012 LACUE Conference. A lot of these lessons also cross over to simply implementing technology effectively with your students. Made with Haiku Deck.
These are the slides from my presentation at the 2012 LACUE Conference. A lot of these lessons also cross over to simply implementing technology effectively with your students. Made with Haiku Deck.
From the 2009 PayPal Developer's Conference (http://ebay.com/devcon/).
Driving Business with PayPal
Many SMB customers are looking for a higher level of integration out of their ecommerce system to drive stronger end customer relationships. Some of the more common additional pieces of functionality above standard checkout processing includes marketing campaigns connected into their product purchasing (special promos, discount coupons, etc.), tie-ins of transactional information into their online administration, and the acceptance of online invoice payments tied into their financial system. In this session we will look at taking PayPal integration to the next level through technologies such as Payments Pro, Instant Payment Notification, and Recurring Payment. In the process not only will we look at lessons learned and recommendations based on the experience of developing several of these end solutions for small and medium businesses. We will use live site case studies but also walk through the design and code of examples.
Restoring Abandoned Destroyed Phone, Found a lot of broken phones and more!https://linktr.ee/hmaadi https://linktr.ee/hmaad
Restoring Abandoned Destroyed Phone, Found a lot of broken phones and more!https://linktr.ee/hmaadi https://linktr.ee/hmaadihttps://uii.io/ref/hmaadihttps://uii.io/ref/hmaadii
Working with Data and built-in functions of PHPmohanaps
This PPT for PHP covers:
Working with Data
Form and input elements validating the user input, passing variables
between pages, through GET, through POST, through REQUEST and
RESPOND, string functions - chr, ord, strtolower, strtoupper, strlen, ltrim,
rtrim, substr, strcmp, math functions - abs, ceil, floor, round, fmod, min,
max, pow, sqrt, rand, array functions - count, list, in_array, current, next,
previous, end, each, sort, rsort, Rest API.
datatypes helps us to hold data in a programming language.difference between constant and variable is explained,use of sizeof operator will help u understand size occupied by each datatypes.format specifier are needed to o/p the datatype value is also explained in detail.
Form validation normally used to occur at the server, after the client had entered all the necessary data and then pressed the Submit button. If the data entered by a client was incorrect or was simply missing, the server would have to send all the data back to the client and request that the form be resubmitted with correct information. This was really a lengthy process which used to put a lot of burden on the server.
JavaScript provides a way to validate form's data on the client's computer before sending it to the web server. Form validation generally performs two functions.
Basic Validation − First of all, the form must be checked to make sure all the mandatory fields are filled in. It would require just a loop through each field in the form and check for data.
Data Format Validation − Secondly, the data that is entered must be checked for correct form and value. Your code must include appropriate logic to test correctness of data.
In today’s busy world, people don’t have time for their personal needs. And the technology is so fast that anyone can do anything by just sitting in a room. The internet is the way that helps a person in all aspects. If someone wish to buy and view things, he can buy online with the help of internet.
Today there are very least organizations which are manual. Everything is going to be computerized and online whether it is banking, advertising or shopping. We are trying to help people to make their life easier by proving online Mobile shopping.
In this we have introduced many modules like admin module and customer module. The customer have to register for any enquiry related to Mobile . The unregistered person can’t access this application. The registered customer can view details of Mobile and he can buy of his choice and need. He has to pay the price of Mobile .
The admin module contains the access of admin on the application. The admin can change everything in the application. He has the ability to add, delete, update any information regarding the Mobile .
The project’s home page includes the registration link. The registered users can login to their account for their queries or buy new Mobile . And the unregistered users have first to register. The registration can be done by following the sign up link .
From the 2009 PayPal Developer's Conference (http://ebay.com/devcon/).
Driving Business with PayPal
Many SMB customers are looking for a higher level of integration out of their ecommerce system to drive stronger end customer relationships. Some of the more common additional pieces of functionality above standard checkout processing includes marketing campaigns connected into their product purchasing (special promos, discount coupons, etc.), tie-ins of transactional information into their online administration, and the acceptance of online invoice payments tied into their financial system. In this session we will look at taking PayPal integration to the next level through technologies such as Payments Pro, Instant Payment Notification, and Recurring Payment. In the process not only will we look at lessons learned and recommendations based on the experience of developing several of these end solutions for small and medium businesses. We will use live site case studies but also walk through the design and code of examples.
Restoring Abandoned Destroyed Phone, Found a lot of broken phones and more!https://linktr.ee/hmaadi https://linktr.ee/hmaad
Restoring Abandoned Destroyed Phone, Found a lot of broken phones and more!https://linktr.ee/hmaadi https://linktr.ee/hmaadihttps://uii.io/ref/hmaadihttps://uii.io/ref/hmaadii
Working with Data and built-in functions of PHPmohanaps
This PPT for PHP covers:
Working with Data
Form and input elements validating the user input, passing variables
between pages, through GET, through POST, through REQUEST and
RESPOND, string functions - chr, ord, strtolower, strtoupper, strlen, ltrim,
rtrim, substr, strcmp, math functions - abs, ceil, floor, round, fmod, min,
max, pow, sqrt, rand, array functions - count, list, in_array, current, next,
previous, end, each, sort, rsort, Rest API.
datatypes helps us to hold data in a programming language.difference between constant and variable is explained,use of sizeof operator will help u understand size occupied by each datatypes.format specifier are needed to o/p the datatype value is also explained in detail.
Form validation normally used to occur at the server, after the client had entered all the necessary data and then pressed the Submit button. If the data entered by a client was incorrect or was simply missing, the server would have to send all the data back to the client and request that the form be resubmitted with correct information. This was really a lengthy process which used to put a lot of burden on the server.
JavaScript provides a way to validate form's data on the client's computer before sending it to the web server. Form validation generally performs two functions.
Basic Validation − First of all, the form must be checked to make sure all the mandatory fields are filled in. It would require just a loop through each field in the form and check for data.
Data Format Validation − Secondly, the data that is entered must be checked for correct form and value. Your code must include appropriate logic to test correctness of data.
In today’s busy world, people don’t have time for their personal needs. And the technology is so fast that anyone can do anything by just sitting in a room. The internet is the way that helps a person in all aspects. If someone wish to buy and view things, he can buy online with the help of internet.
Today there are very least organizations which are manual. Everything is going to be computerized and online whether it is banking, advertising or shopping. We are trying to help people to make their life easier by proving online Mobile shopping.
In this we have introduced many modules like admin module and customer module. The customer have to register for any enquiry related to Mobile . The unregistered person can’t access this application. The registered customer can view details of Mobile and he can buy of his choice and need. He has to pay the price of Mobile .
The admin module contains the access of admin on the application. The admin can change everything in the application. He has the ability to add, delete, update any information regarding the Mobile .
The project’s home page includes the registration link. The registered users can login to their account for their queries or buy new Mobile . And the unregistered users have first to register. The registration can be done by following the sign up link .
Amitay Horwitz - Building event sourced systems with Kafka Streams - Codemoti...Codemotion
Apache Kafka is a battle-tested stream-processing platform. Combined with Kafka Streams API, it’s possible to build scalable, fault-tolerant and distributed event-driven systems. In this talk, I will describe the key components of an event sourced system and how simple building blocks can be combined using the powerful and declarative streams API to deliver business value. I will demonstrate possible solutions to the challenges of eventual-consistency and the object-relational impedance mismatch.
It's an E-Commerce web application build on Django (python) with further advancement. It utilizes Django features and plugins for security against various web attacks. It uses Stripe Integration for payment portal.
[This project was undertaken at TCS as part of industrial exposure curriculum during my B.Tech. Our team won best project award.]
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
A tale of scale & speed: How the US Navy is enabling software delivery from l...
Gharpay rest documentation
1.
Gharpay
REST
API
Documentation
The
Home
page
for
information
about
the
web
services
exposed
by
Gharpay
is:
http://services.gharpay.in
The
documentation
of
the
APIs
can
be
accessed
at
http://services.gharpay.in/resources/Gharpay_REST_API_Documentation.pdf
Please
keep
in
mind
that
this
is
the
pre-‐production
environment
or
staging
environment.
The
API
methods
currently
exposed
by
Gharpay
are:
• createOrder
• addProductsToOrder
• cancelOrder
• cancelProductsFromOrder
• viewOrderStatus
• viewOrderDetails
• getCityList
• getPincodesInCity
• isCityPresent
• isPincodePresent
• getAllPincodes
Authentication:
Each
request
is
authenticated
by
a
special
username
and
password
provided
to
each
client
by
Gharpay.
These
credentials
must
be
provided
in
the
HTTP
Header
for
each
request.
Sample
Input:
Key:
username
Value:
<username>
Key:
password
Value:<password>
createOrder:
This
service
is
invoked
when
the
client
wishes
to
push
a
new
transaction
order
into
Gharpay's
system.
The
client
needs
to
input
the
following
information
and
Gharpay
returns
with
the
OrderID
created
at
Gharpay's
end
and
(if
provided)
the
Client
Order
ID.
Allowed
Methods:
POST
URL:
http://services.gharpay.in/rest/GharpayService/createOrder
Inputs:
Transaction
Details:
Customer
Details:
• Prefix
(Optional)
–
The
Prefix
to
be
used
when
addressing
the
client.
This
defaults
to
“Mr.”
The
other
allowed
values
are:
Mr.
,
Ms.,
Miss,
Mrs.,
Dr.,
Prof.
2. • FirstName
(Mandatory)-‐
This
is
the
first
name
of
the
customer.
This
is
a
String
value
with
a
maximum
length
of
255
characters.
• LastName
(Optional)
–
This
is
the
last
name
of
the
customer.
This
is
a
String
value
with
a
maximum
length
of
255
characters.
• ContactNo
(Mandatory)
–
This
is
the
customer's
contact
no.
(
preferably
a
mobile
number).
Gharpay's
payment
executives
shall
call
up
this
number
to
confirm
the
availability
of
the
customer
at
the
given
address.
This
is
a
String
value
with
a
maximum
length
of
255
characters.
• Email
(Optional)
–
If
provided,
the
payment
confirmation
is
sent
to
this
email
ID.
• Address
(Mandatory)
–
This
is
the
complete
billing
address
of
the
customer.
This
is
the
address
which
Gharypay's
payment
executives
will
visit
to
collect
the
cash
payment.
This
is
a
String
value.
Order
Details:
• ProductDetails(Optional,
Repeatable):
o Product
ID:
This
is
the
ID
of
the
product
bought
by
the
customer
for
which
Gharpay
shall
collect
the
payment.
This
is
a
String
value
with
a
maximum
length
of
64
characters.
o Product
Quantity:
This
is
the
quantity
of
the
product
being
booked.
This
is
an
Integer
value.
o Unit
Cost:
This
is
the
cost
per
unit
of
the
product.
This
is
a
Float
value.
• Delivery
Date
(Mandatory):
This
is
the
date
on
which
delivery
is
required.
This
is
a
String
of
the
form
“dd-‐MM-‐yyyy”.
For
example,
20th
July
2011
would
be
represented
as
20-‐07-‐2011.
• City
Pincode
(Mandatory):
This
is
the
pincode
in
which
the
customer’s
address
is
present.
This
is
a
Long
value
of
6
digits
in
length.
• Order
Amount(Mandatory):
This
is
the
final
value
of
the
product(s)
being
sold.
This
amount
is
inclusive
of
all
commissions
and
charges(if
any).
This
is
the
amount
that
shall
be
collected
from
the
customer.
This
is
a
float
value.
•
Template
ID(Optional):
This
is
the
ID
of
the
template
of
the
receipt
to
be
printed.
If
not
provided,
the
default
template
for
the
client
is
used.
• Client
Order
ID(Mandatory):
This
is
the
ID
used
by
the
client
to
create
the
order
on
their
systems.
This
is
only
for
reference
purposes
to
ensure
that
Gharpay’s
systems
are
in
sync
with
the
client’s
systems.
This
is
a
String
value
with
a
maximum
length
of
64
characters.
Additional
Information
(Optional):
This
tag
is
used
to
convey
any
client
specific
information
that
needs
to
be
pushed
to
Gharpay’s
systems.
• Parameter(Optional,
Repeatable):
o Name:
Name
of
the
parameter.
For
example,
TravelDate.
o Value:
The
value
of
the
parameter
being
defined.
This
is
a
String
value
with
a
maximum
length
of
45
characters.
N.B:
All
Name
tags
need
to
be
registered
with
Gharpay
prior
to
using
this
tag.
Sample
Input:
<transaction>
<customerDetails>
<address>{Customer
Address}</address>
<contactNo>{Customer
Contact
No.}</contactNo>
<!-‐-‐Optional:-‐-‐>
<email>{Customer
Email}</email>
<firstName>{Customer
First
Name}</firstName>
3. <!-‐-‐Optional:-‐-‐>
<lastName>{Customer
Last
Name}</lastName>
<!-‐-‐Optional:-‐-‐>
<prefix>Mr.</prefix>
</customerDetails>
<orderDetails>
<pincode>{Customer
Address
Pincode}</pincode>
<clientOrderID>{Client
Order
ID}</clientOrderID>
<deliveryDate>{Order
Delivery
Date}</deliveryDate>
<orderAmount>{Order
Amount}</orderAmount>
<!-‐-‐Zero
or
more
repetitions:-‐-‐>
<productDetails>
<productID>{Product
ID}</productID>
<productQuantity>{Product
Quantity}</productQuantity>
<unitCost>{Product
Unit
Cost}</unitCost>
<productDescription>{Description
of
the
product}</productDescription>
</productDetails>
<templateID>{ID
of
the
template
to
be
used
while
printing
receipts}</templateID>
</orderDetails>
<!-‐-‐Optional:-‐-‐>
<additionalInformation>
<!-‐-‐1
or
more
repetitions:-‐-‐>
<parameters>
<name>{Parameter
Name}</name>
<value>{Parameter
Value}</value>
</parameters>
<parameters>
<name>{Parameter
Name}</name>
<value>{Parameter
Value}</value>
</parameters>
</additionalInformation>
</transaction>
Output:
• OrderID
generated
by
Gharpay.
This
is
a
String
value.
• Client
Order
ID:
If
the
client
has
provided
the
order
ID
from
their
end,
this
is
also
returned.
This
is
only
for
verification
purposes
to
ensure
that
the
right
Gharpay
ID
is
associated
with
the
order
on
the
client’s
end.
Sample
Output:
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<createOrderResponse>
<clientOrderID>{Order
ID
provided
by
the
client}</clientOrderID>
<orderID>{Order
ID
generated
by
Gharpay}</orderID>
</createOrderResponse>
addProductsToOrder:
The
client
can
also
add
multiple
tickets/transaction
requests
to
the
same
order
if
the
order
has
been
created
for
the
customer
earlier
and
the
order
has
not
been
delivered
yet.
4. Allowed
Methods:
POST
URL:
http://services.gharpay.in/rest/GharpayService/addProductsToOrder
Inputs:
Add
Product
Details:
• orderID(Mandatory):
This
is
the
orderID
(generated
earlier
by
Gharpay)
to
which
the
current
product
has
to
be
added.
• orderAmount(Mandatory):
This
is
the
new
order
amount
that
needs
to
be
collected
from
the
customer.
This
is
to
ensure
that
Gharpay’s
systems
are
in
sync
with
the
client’s
systems.
Product
Details
(Mandatory,
Repeatable):
• ProductId(Mandatory):
This
is
the
ID
of
the
product
bought
by
the
customer
for
which
Gharpay
shall
collect
payment.
This
is
a
String
value
with
a
maximum
length
of
64
characters.
• Product
Quantity(Mandatory):
This
is
the
quantity
of
the
particular
being
booked.
This
is
an
Integer
value.
• Unit
Cost(Mandatory):
This
is
the
cost
per
unit
of
the
product.
This
is
a
Float
value.
Sample
Input:
<addProductsToOrder>
<orderAmount>{Final
amount
payable
by
customer
now}</orderAmount>
<orderID>{Order
ID
to
which
the
product
shall
be
added}</orderID>
<!-‐-‐1
or
more
repetitions:-‐-‐>
<productDetails>
<productID>{ID
of
the
product
to
be
added}</productID>
<productQuantity>{Quantity
of
the
product
to
be
added}</productQuantity>
<unitCost>{Cost
per
unit
of
the
product
being
added}</unitCost>
</productDetails>
</addProductsToOrder>
Output:
Boolean
value
returned
indicating
the
success
or
failure
of
the
operation.
Sample
Output:
Success
Scenario:
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<addProductsToOrderResponse>
<result>true</result>
<orderID>{Gharpay
Order
ID}</orderID>
</addProductsToOrderResponse>
Failure
Scenario:
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<addProductsToOrderResponse>
<result>false</result>
<orderID>{Gharpay
Order
ID}</orderID>
</addProductsToOrderResponse>
cancelOrder:
This
is
the
invoked
when
the
complete
order
needs
to
be
cancelled.
All
products
associated
with
the
order
shall
also
be
cancelled.
5. Allowed
Methods:
POST
URL:
http://services.gharpay.in/rest/GharpayService/cancelOrder
Inputs:
• Order
ID(Mandatory):
This
is
the
ID
of
the
order
(generated
and
returned
earlier
by
Gharpay)
that
needs
to
be
cancelled.
This
is
a
String
value.
Sample
Input:
<cancelOrder>
<orderID>{ID
of
the
order
to
be
cancelled}</orderID>
<cancelOrder>
Output:
Gharpay's
systems
shall
return
a
boolean
result
of
the
operation.
Sample
Output:
Success
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<cancelOrderResponse>
<result>true</result>
<orderID>{Gharpay
Order
ID}</orderID>
</cancelOrderResponse>
Failure
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<cancelOrderResponse>
<result>false</result>
<orderID>{Gharpay
Order
ID}</orderID>
</cancelOrderResponse>
CancelProductsFromOrder:
This
service
is
invoked
when
only
some
of
the
products
have
to
be
cancelled
from
the
order.
Allowed
Methods:
POST
URL:
http://services.gharpay.in/rest/GharpayService/cancelProductsFromOrder
Inputs:
• Order
ID
(Mandatory):
This
is
the
ID
of
the
order
(generated
and
returned
earlier
by
Gharpay)
from
which
the
product(s
)
have
to
be
cancelled.
This
is
a
String
value.
• Product
ID(Mandatory,Repeatable):
This
is
the
ID
of
the
product
that
needs
to
be
cancelled.
This
is
a
String
value
of
maximum
length
of
64
characters.
Sample
Input:
<cancelProductsFromOrder>
<orderAmount>{Final
amount
payable
by
customer
now}</orderAmount>
<orderID>{Order
ID
to
which
the
product
shall
be
added}</orderID>
<!-‐-‐1
or
more
repetitions:-‐-‐>
<productId>{ID
of
the
product
being
cancelled}</productId>
</cancelProductsFromOrder>
Output:
6. Gharpay's
system
shall
return
a
boolean
result
of
the
operation.
Sample
Output:
Success
Scenario:
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<cancelProductsFromOrderResponse>
<result>true</result>
<orderID>{Gharpay
Order
ID}</orderID>
</cancelProductsFromOrderResponse>
Failure
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<cancelProductsFromOrderResponse>
<orderID>{Gharpay
Order
ID}</orderID>
<result>false</result>
</cancelProductsFromOrderResponse>
viewOrderDetails:
This
service
is
invoked
in
order
to
get
details
of
the
order.
Allowed
Methods:
GET
URL:
http://services.gharpay.in/rest/GharpayService/viewOrderDetails
Inputs:
• Order
ID(Mandatory):
The
order
ID
(generated
earlier
by
Gharpay)
for
which
details
are
required.
This
is
a
String
value.
Sample
Input:
http://services.gharpay.in/rest/GharpayService/viewOrderDetails?orderID={Order
ID
provided
by
Gharpay}
Outputs:
viewOrderDetailsResponse:
• Commission:
This
is
the
commission
charged
by
Gharpay
to
collect
payment
for
this
order.
This
is
a
Float
value.
Customer
Details:
• Address:
This
is
the
address
of
the
customer.
This
is
returned
as
a
String
value.
• Contact
No:
This
is
the
contact
number
of
the
customer.
This
is
returned
as
a
String
value.
• Email:
This
is
the
email
of
the
customer.
This
is
returned
as
a
String
value.
• First
Name:
This
is
the
first
name
of
the
customer.
This
is
returned
as
a
String
value.
• Last
Name:
This
is
the
last
name
of
the
customer.
This
is
returned
as
a
String
value.
• Prefix:
This
is
the
prefix
of
the
customer.
This
is
returned
as
a
String
value.
• Delivery
Date:
This
is
the
date
on
which
the
payment
shall
be
collected.
This
is
a
String
value
of
the
format
“dd-‐MM-‐yyyy”.
• Executive
Name:
If
the
order
has
been
assigned
to
an
executive,
this
tag
represents
the
name
of
Gharpay’s
executive
who
shall
collect
payment
for
the
customer.
This
is
returned
as
a
String
value.
7. • Executive
Contact
No:
If
the
order
has
been
assigned
to
an
executive,
this
tag
represents
the
contact
details
of
Gharpay’s
executive
who
shall
collect
payment
for
the
customer.
• Order
Status:
This
is
the
status
of
the
order.
Possible
values
are:
Pending,
On-‐The-‐Way,
Delivered,
Cancelled
by
Client,
Cancelled
by
Customer,
Failed,
Deferred
By
Customer,
Invalid
Sample
Output:
Success
Scenario:
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<viewOrderDetailsResponse>
<commission>{Commission
being
charged
by
Gharpay}</commission>
<customerDetails>
<address>{Address
of
the
customer}</address>
<contactNo>{Contact
number
of
the
customer}</contactNo>
<email>{Email
ID
of
the
customer}</email>
<firstName>{First
name
of
the
customer}</firstName>
<lastName>{Last
name
of
the
customer}</lastName>
<prefix>{Prefix
of
the
customer}</prefix>
</customerDetails>
<deliveryDate>{Date
on
which
the
order
shall
be
delivered}</deliveryDate>
<executiveContactNo>{Executive’s
contact
number}</executiveContactNo>
<executiveName>{Executive’s
name}</executiveName>
<orderStatus>{Status
of
the
order}</orderStatus>
</viewOrderDetailsResponse>
Failure
Scenario:
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<viewOrderDetailsResponse>
<return/>
</viewOrderDetailsResponse>
viewOrderStatus:
Allowed
Methods:
GET
URL:
http://services.gharpay.in/rest/GharpayService/viewOrderStatus
This
service
is
invoked
to
get
only
the
status
of
the
order.
Inputs:
• Order
ID(Mandatory):
The
order
ID
(generated
and
returned
earlier
by
Gharpay)
for
which
the
status
needs
to
be
known.
This
is
a
String
value.
Sample
Input:
http://services.gharpay.in/rest/GharpayService/viewOrderStatus?orderID={Order
ID
provided
by
Gharpay}
Output:
• The
status
of
the
order.
Possible
values
are:
o Pending
–
The
order
has
been
received
by
Gharpay’s
systems.
o On
the
way
–
The
order
has
been
assigned
to
our
payment
executive
and
is
on
the
field.
o Delivered
–
The
order
has
been
delivered
successfully
and
Gharpay
has
collected
the
payment.
o Failed
–
The
customer
has
failed
to
respond
despite
repeated
attempts
made
by
Gharpay’s
executives.
In
this
case,
the
exact
reason
is
mentioned
in
the
order’s
comments
section.
o Cancelled
by
Client
–
The
order
has
been
cancelled
by
the
client/merchant.
8. o Cancelled
by
Customer
–
The
customer,
when
contacted
by
Gharpay’s
executive,
expressed
the
intent
to
cancel
the
order.
o Deferred
by
Customer
–
The
end
customer,
when
contacted
by
Gharpay’s
executive,
asked
for
the
delivery/pickup
to
be
deferred
by
a
few
days.
o Invalid
–
The
customer
contact
details
provided
are
invalid
or
the
area
is
not
serviceable
by
Gharpay.
Sample
Output:
Success
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<viewOrderStatusResponse>
<orderStatus>Pending</orderStatus>
<orderID>{Gharpay’s
Order
ID}</orderID>
</viewOrderStatusResponse>
Failure
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<viewOrderStatusResponse>
<orderID>{Gharpay’s
Order
ID}</orderID>
<orderStatus
/>
</viewOrderStatusResponse>
getCityList:
This
is
invoked
in
order
to
get
a
list
of
the
cities
that
are
currently
being
served
by
Gharpay.
Allowed
Methods:
GET
URL:
http://services.gharpay.in/rest/GharpayService/getCityList
Input:
There
are
no
inputs
that
need
to
be
provided
to
this
service.
Sample
Input:
http://services.gharpay.in/rest/GharpayService/getCityListOutput:
List
of
the
cities
being
served
by
Gharpay.
Sample
Output:
<getCityListResponse>
<city>Hyderabad</city>
<
city
>Chennai</
city
>
<
city
>Mumbai</
city
>
</getCityListResponse>
getPincodesInCity:
This
is
invoked
in
order
to
get
a
list
of
pincodes
in
a
particular
city.
Allowed
Methods:
GET
URL:
http://services.gharpay.in/rest/GharpayService/getPincodesInCity
Input:
• City
Name(Mandatory):
This
is
the
name
of
the
city
for
which
a
list
of
pincodes
is
required.
This
is
a
String
value.
9.
Sample
Input:
http://services.gharpay.in/rest/GharpayService/getPincodesInCity?cityName={Name
of
the
city}
Output:
Successful
output:
List
of
pincodes
being
served
in
the
city.
All
values
are
6
digit
Long
values.
Unsuccessful
output:
Error
Response
detailing
the
reason
for
failure.
Sample
Output:
Success
Scenario:
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<getPincodesInCityResponse>
<pincode>500008</pincode>
<pincode>500084</pincode>
</getPincodesInCityResponse>
Failure
Scenario:
<getPincodesInCityResponse>
<errorCode>3031</errorCode>
<errorMessage>Sorry,
we
currently
don't
serve
this
city.</errorMessage>
</getPincodesInCityResponse>
isCityPresent:
This
is
invoked
in
order
to
check
if
Gharpay's
operations
are
present
in
a
particular
city.
Allowed
Methods:
GET
URL:
http://services.gharpay.in/rest/GharpayService/isCityPresent
Input:
• City
Name(Mandatory):
This
is
the
name
of
the
city
that
needs
to
be
checked.
This
is
a
String
value
of
maximum
length
45
characters.
Sample
Input:
http://services.gharpay.in/rest/GharpayService/isCityPresent?cityName={Name
of
the
city}
Output:
A
Boolean
result
is
returned.
True
if
the
city
is
present,
false
otherwise.
Sample
Output:
Success
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<isCityPresentResponse>
<result>true</result>
</isCityPresentResponse>
Failure
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<isCityPresentResponse>
<result>false</result>
</isCityPresentResponse>
10.
isPincodePresent:
This
service
is
invoked
to
check
if
Gharpay
serves
a
particular
pincode.
Allowed
Methods:
GET
URL:
http://services.gharpay.in/rest/GharpayService/isPincodePresent
Inputs:
• City
Pincode(Mandatory):
This
is
the
pincode
that
needs
to
be
checked.
This
is
a
6
digit
Long
value.
Sample
Input:
http://services.gharpay.in/rest/GharpayService/isPincodePresent?pincode={City
Pincode}
Output:
The
service
returns
a
Boolean
value
stating
if
Gharpay
serves
the
pincode
or
not.
Sample
Output:
Success
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<isPincodePresentPresentResponse>
<result>true</result>
</isPincodePresentPresentResponse>
Failure
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<isPincodePresentPresentResponse>
<result>false</result>
</isPincodePresentPresentResponse>
getAllPincodes:
This
is
invoked
to
retrieve
a
complete
list
of
pincodes
that
are
currently
serviced
by
Gharpay.
Allowed
Methods:
GET
URL:
http://services.gharpay.in/rest/GharpayService/getAllPincodes
Sample
Input:
http://services.gharpay.in/rest/GharpayService/getAllPincodes
Output:
A
list
of
all
pincodes
will
be
returned
Sample
Output:
Success
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<getAllPincodesResponse>
<pincode>500008</pincode>
11. <pincode<560001</pincode>
</getAllPincodesResponse>
Failure
Scenario
<?xml
version="1.0"
encoding="UTF-‐8"
standalone="yes"?>
<getAllPincodesResponse>
<errorCode>4002</errorCode>
<errorMessage>Invalid
client
credentials</errorMessage>
</getAllPincodesResponse>
Push
Notifications
In
case
real
time
updates
of
order
status
is
required,
the
facility
of
push
notifications
can
be
utilized.
A
notification
is
sent
to
the
client
server
every
time
the
status
of
any
order
is
updated.
The
client
can
then
hit
the
viewOrderStatus
API
or
the
viewOrderDetails
API
to
retrieve
the
latest
status
associated
with
this
order.
The
possible
statuses
of
an
order
on
Gharpay’s
servers
are:
o Pending
–
The
order
has
been
received
by
Gharpay’s
systems.
o On
the
way
–
The
order
has
been
assigned
to
our
payment
executive
and
is
on
the
field.
o Delivered
–
The
order
has
been
delivered
successfully
and
Gharpay
has
collected
the
payment.
o Failed
–
The
customer
has
failed
to
respond
despite
repeated
attempts
made
by
Gharpay’s
executives.
In
this
case,
the
exact
reason
is
mentioned
in
the
order’s
comments
section.
o Cancelled
by
Client
–
The
order
has
been
cancelled
by
the
client/merchant.
o Cancelled
by
Customer
–
The
customer,
when
contacted
by
Gharpay’s
executive,
expressed
the
intent
to
cancel
the
order.
o Deferred
by
Customer
–
The
end
customer,
when
contacted
by
Gharpay’s
executive,
asked
for
the
delivery/pickup
to
be
deferred
by
a
few
days.
o Invalid
–
The
customer
contact
details
provided
are
invalid
or
the
area
is
not
serviceable
by
Gharpay.
In
case
such
a
notification
is
required,
please
expose
a
URL
of
the
form
–
http://some/url/notification.xyz?order_id=<order
id>&time=<time>
where
• <order
id>
is
the
Gharpay
order
ID
returned
while
creating
the
order
id
• <time>
is
in
the
format
YYYY-‐MM-‐DD
HH:MM:SS
For
example,
http://some/url/notification.xyz?order_id=GW-‐xxx-‐0000xxx-‐xxx&time=2011-‐09-‐08+13%3A59%3A20
Gharpay’s
servers
will
make
HTTP
GET
requests
to
this
URL.
Please
note
that
we
currently
do
not
support
any
form
of
authentication
for
this.
In
case
there
is
a
need
to
secure
this
URL,
Gharpay
can
provide
possible
whitelisted
IPs
from
where
Gharpay
shall
make
the
requests.