Orangepill Docs
  • Getting Started
    • Introduction
  • Orangepill API
    • Overview
    • Realms and Admins
    • Identities and Users
    • Persons and Companies
    • Messaging Channels
    • Digital Assets
    • Custom Digital Assets
    • Virtual Currencies
    • Ramp Accounts
    • Deposit Accounts
    • Virtual Accounts
    • Aliases
    • Withdrawal
    • Transactions
    • Payment gateways
    • Payouts
    • KYC
  • SmartApps
    • Payment Request
      • Payment Request v1.0
    • Forwarding Transactions
    • Blockchain Deposits
    • Accept Blockchain Payments
    • Orderbook
    • Exchange Rates
  • WebSocket Subscriptions
  • Extensions
    • Infobip People CDP
  • On Ramps and Off Ramps
  • Integrations
    • Infobip Exchange
  • Tutorials
    • Conversational Wallet
    • Crypto Payments Processor
      • Project Setup
      • Merchants Onboarding
      • Process Payment
      • Withdraw Revenue
      • Build Reports
      • Automatic Revenue Fees
    • Cryptocurrency Exchange
    • Simple ETH Wallet
  • Orangepill API Reference
Powered by GitBook
On this page
  • Payment Request Unique Code
  • Callback
  • Payment Status
  • Status changes log
  • Related Transactions
  • Versions
  • Payment Request v1.0

Was this helpful?

  1. SmartApps

Payment Request

Use Apps.Payment to create Payment Request and related QR codes. Payment Request stores the details of a future payment.

The Orangepill platform's Payment Request feature, accessed via the Apps.Payment module, allows users to create and manage payment requests effectively. Each payment request must include the destination alias of the receiver, ensuring proper routing of funds. Optional fields enable users to specify the payment amount and currency, adding precision to transactions. Additionally, users can include a source alias to direct the request to a specific payer, making the process efficient for recurring or predetermined payments. To further streamline the payment process, Apps.Payment supports methods to generate and reveal QR codes representing the payment request. This QR code functionality simplifies the transaction process by allowing users to quickly and accurately share payment details, enhancing both the flexibility and reliability of handling pending payments within the platform.

Payment Request Unique Code

Payment Request id is the unique identifier and code for this payment request. Use this information to share Payment request.

Payment Request Code Example

"MljzDk8qxDsBkXW0wv3r"

Callback

Apps.Payment supports POST REST API callback URL when Payment Request status changes. Callback URL must have public access. Information received to callback URL is the ID of updated Payment Request. Business logic behind callback URL should retrieve details about Payment Request and accept or reject payment depending on the new status. Use this feature to integrate external e-commerce or ERP system to acknowledge payment from Orangepill platform.

Example of POST REST API call to callback URL

{
   "id": "MljzDk8qxDsBkXW0wv3r"
}

Payment Status

Depending on the Payment Request version and the flow, different statuses are supported. By default, status CREATED is added to payment request. Upon receiving of total amount to destination account, payment request will be updated with status DONE.

Complete supported status list

"CREATED"
"DONE"
"PENDING"
"ACCEPTED"
"CANCELLED"
"INCOMPLETE"
"PROCESSING"
"OVERPAID"
"EARLY"
"LATE"
"FAILED"
"REFUND"
"REFUNDED"
"ERROR"

Status changes log

History of status changes can be found in object log.

"log": [
    {
        "status": "INCOMPLETE",
        "created_at": 1634242457277
    },
    {
        "status": "DONE",
        "created_at": 1872242774572
    },

]

Related Transactions

List of transactions related to payment request can be found in Array object related. Typical scenario where multiple transactions would be related to a payment request is when multiple payments were done to collect complete payment request amount, for example in split payment scenario.

"related": [
    {
        "type": "transaction",
        "value": "656a0fd58e907523577a53f6",
        "created_at": 1671242774572
    },
    {
        "type": "transaction",
        "value": "67523577a53f656a0fd58e90",
        "created_at": 1674277457212
    },
]

Transactions are automatically added to related Array if in it's related object contain reference to specific Apps.Payment entity.

"related": [
    {
        "type": "apps.payment",
        "value": "MljzDk8qxDsBkXW0wv3r",
        "created_at": 1872242774572
    }
]

Versions

Payment Request supports format versions, thus allowing future changes in format.

PreviousSmartAppsNextPayment Request v1.0

Last updated 9 months ago

Was this helpful?

Payment Request v1.0