Mobicred Connector
Connector name: Mobicred
Payment method type:
za_mobicred_ewallet. Mobicred buy-now-pay-later credit account (South Africa). Categoryewallet. Customer logs in with Mobicred username and password, then confirms with an SMS OTP on a Rapyd-hosted page.Gateway name: mobicred (direct Rapyd to Mobicred REST API, form-encoded requests to Mobicred endpoint)
Supported countries and currencies: South Africa (ZA), ZAR
Every payment needs a customer OTP step: an SMS OTP is sent, and the customer enters it on the Rapyd-hosted OTP page (redirect_url).
Capture and cancel are not available for this payment method.
Installments are decided by Mobicred's credit engine. The merchant does not configure them.
Note
The customer enters the OTP sent by Mobicred to complete the payment. The OTP is valid for about 10 minutes and needs to be entered correctly; if it is not accepted, the customer can simply start again with a new payment. A payment that is not completed after the OTP step expires automatically.
API request | Endpoint | Unique capabilities | Limitations |
|---|---|---|---|
Create payment |
| Customer Mobicred username and password are sent in | Do not send capture; it does not apply to this payment method. |
Customer OTP verification / resend (Rapyd-hosted page) | N/A - customer action on redirect_url, not a merchant API | OTP submit -> purPreAuth; resend -> purOTP. Result: CLO when Mobicred approves the purchase (code 101). | The OTP is valid for about 10 minutes; after that, create a new payment. |
Create refund |
| Full and partial refunds (purRefund), synchronous result. | Cannot exceed purchase balance |
Retrieve payment |
| The connector can query Mobicred (purQuery) and map pcPurchaseState to Rapyd status. | - |
Header parameters: Standard Rapyd headers. No connector-specific headers.
Supported workflows
eWallet payment with customer redirect for OTP.
Create payment (status ACT, next_action pending_confirmation) -> redirect customer to redirect_url -> customer enters OTP -> payment closes (CLO) when Mobicred approves the purchase.
Unique: customer credentials (Mobicred username/password) are collected at payment creation, then an SMS OTP is confirmed on a Rapyd-hosted page.
Create Payment - Body parameters
Note
This table has many columns. Use the horizontal scroll bar below the table to move across and view all of the columns.
Field name | Parent field | Data type | Required or optional | Default value | Accepted values (enum) | Constraints | Description | Example | Provided by |
|---|---|---|---|---|---|---|---|---|---|
| - | number | Required | - | Positive amount in ZAR | Decimal amount, not cents. Sent to Mobicred as dAmount (string of the decimal amount). | Purchase amount. | 1500.00 | Merchant |
| - | string | Required | - | ZAR | ZAR only. | Payment currency. | ZAR | Merchant |
| - | object | Required | - | - | - | Payment method object. | - | Merchant |
|
| string | Required | - |
| - | Payment method type. |
| Merchant |
|
| string | Required | - | - | Customer's Mobicred login. Display above the password field. | Customer's Mobicred account username (often the account email). | customer@example.com | Merchant (entered by customer) |
|
| string | Required | - | - | Sensitive. Must be masked in any UI (input type=password). Never log or store. | Customer's Mobicred account password. | <customer-mobicred-password> | Merchant (entered by customer) |
| - | boolean | Optional | Not set | Do not send for this payment. | Not applicable to this payment method. | Card-only flag in Rapyd. Must be omitted for | (omit) | Merchant |
| - | object | Optional | - | Any JSON object | - | Merchant metadata. | {"order_ref": "ORD-1001"} | Merchant |
| - | string | Optional | - | - | Rapyd limit applies. NOT sent to Mobicred. | Merchant's own order reference. | ORD-1001 | Merchant |
| - | string | Optional | - | - | - | Payment method description. | Order ORD-1001 | Merchant |
| - | string | Optional | - | Valid URL | - | URL the customer returns to after a completed payment. | https://merchant.example.com/success | Merchant |
| - | string | Optional | - | Valid URL | - | URL the customer returns to if the payment is not completed. | https://merchant.example.com/error | Merchant |
| - | number | Optional | Payment default | Unix timestamp | Payment is expirable. | Payment expiration. When the payment expires, its status becomes EXP. | 1767225600 | Merchant |
| - | string or object | Optional | - | Rapyd customer ID (cus_) or inline customer object | - | Shopper details. Not read by the Mobicred connector. | cus_1a2b3c234234243 | Merchant |
Create Payment - Response parameters
Note
This table has many columns. Use the horizontal scroll bar below the table to move across and view all of the columns.
Field name | Parent field | Data type | Values (enum) | Description | Example | Provided by |
|---|---|---|---|---|---|---|
|
| string | - | Rapyd payment ID. | payment_0f2c... | Rapyd |
|
| string | ACT, CLO, ERR | Payment status after purCreate. | ACT | Rapyd (from Gateway code) |
|
| string | - | Rapyd-hosted OTP page. Redirect the customer here to enter the SMS OTP. | https://<otp-host>/mobicred?payment_token=<rapyd_token>&otp_length=6 | Rapyd |
|
| string | pending_confirmation, not_applicable | pending_confirmation while the customer still has to enter the OTP; not_applicable after a successful OTP. | pending_confirmation | Rapyd |
|
| boolean | true, false | Whether the payment is captured. | false | Rapyd |
|
| boolean | true, false | Whether the payment is paid. | false | Rapyd |
|
| string | Mobicred piResponseCode as string (e.g. 201, 202, 206, 207, 320) | Mobicred response code. | 202 | Gateway |
|
| string | Mobicred pcReason or standard reason text | Mobicred response text. | Incorrect Password | Gateway |
|
| string |
| Payment used. |
| Rapyd |
|
| object | - | Payment method details. username/password must not be exposed. | {"type": " | Rapyd |
|
| object | - | Not populated by the connector. | {} | Rapyd |
Create Refund - Body parameters
Note
This table has many columns. Use the horizontal scroll bar below the table to move across and view all of the columns.
Field name | Parent field | Data type | Required or optional | Default value | Accepted values (enum) | Constraints | Description | Example | Provided by |
|---|---|---|---|---|---|---|---|---|---|
| - | string | Required | - | payment_ id | Payment must be completed (CLO). | ID of the payment to refund. | payment_0f2c23423423 | Merchant |
| - | number | Optional | Full remaining amount | - | Up to the purchase balance; Mobicred code 319 if exceeded. | Refund amount (partial allowed). | 500.00 | Merchant |
| - | string | Optional | Refund | - | - | Refund reason. | Merchandise returned | Merchant |
| - | string | Optional | - | - | Not sent to Mobicred. | Merchant refund reference. | REF-1001 | Merchant |
| - | string | Optional | Payment currency | ZAR | - | Refund currency. | ZAR | Merchant |
Create Refund - Response parameters
Note
This table has many columns. Use the horizontal scroll bar below the table to move across and view all of the columns.
Field name | Parent field | Data type | Values (enum) | Description | Example | Provided by |
|---|---|---|---|---|---|---|
|
| string | - | Rapyd refund ID. | refund_7a1b... | Rapyd |
|
| string | Completed, Error | Refund status. | Completed | Rapyd (from Gateway code) |
|
| number | - | Refunded amount. | 500.00 | Rapyd |
|
| string |
| Payment. |
| Rapyd |
|
| string | - | Reason text from Mobicred. | Gateway |
Retrieve Payment - Path parameters
Note
This table has many columns. Use the horizontal scroll bar below the table to move across and view all of the columns.
Field name | Parent field | Data type | Required or optional | Default value | Accepted values (enum) | Constraints | Description | Example | Provided by |
|---|---|---|---|---|---|---|---|---|---|
|
| string | Required | - | payment_ id | - | ID of the payment to retrieve. | payment_0f2cwerwr24 | Merchant |
Retrieve Payment - Response parameters
Note
This table has many columns. Use the horizontal scroll bar below the table to move across and view all of the columns.
Field name | Parent field | Data type | Values (enum) | Description | Example | Provided by |
|---|---|---|---|---|---|---|
|
| string | ACT, CLO, CAN, ERR | Current status. | CLO | Rapyd (from Gateway state) |
|
| boolean | - | Paid flag. | true | Rapyd |
|
| string | - | Mobicred response code. | 406 | Gateway |
This section shows how PayU Africa (Magellan API) fields, values and behavior relate to the Rapyd fields in the field mapping tables.
For Mobicred, only setTransaction (Rapyd hosted checkout) with TransactionType PAYMENT is supported.
Field mapping (Rapyd field to original PayU field)
Create Payment - Body parameters
Rapyd field name | Original PayU field |
|---|---|
|
|
|
|
|
|
|
|
| On setTransaction the shopper enters Mobicred credentials on the Rapyd hosted page. |
| On setTransaction the shopper enters Mobicred credentials on the Rapyd hosted page. |
|
|
| None - merchant metadata has no PayU source |
|
|
|
|
|
|
|
|
| - |
|
|
Accepted values mapping
Field name | Original PayU value | Rapyd value |
|---|---|---|
| MOBICRED |
|
| TransactionType PAYMENT | (capture omitted) |
Create Payment - Response parameters
Rapyd field name | Original PayU field |
|---|---|
|
|
|
|
| /rpp.do?payUReference=... (setTransaction response; the shopper reaches the Rapyd OTP page from the hosted checkout) |
| None |
| None |
|
|
|
|
|
|
|
|
|
|
| None |
Accepted values mapping
Field name | Original PayU value | Rapyd value |
|---|---|---|
| Mobicred code 1-4 (Created / OTP sent / Pre-authorized) | ACT |
| Mobicred code 101-103 (Approved / Cancelled / Refunded OK) | CLO |
| Any other code | ERR |
| SUCCESSFUL (resultCode 00) | CLO |
| PROCESSING | ACT |
| FAILED (resultCode 05, pointOfFailure ACQUIRER) | ERR |
| EXPIRED (resultCode P015) | CAN |
| EXPIRED (resultCode 994) | EXP |
Create Refund - Body parameters
Rapyd field name | Original PayU field |
|---|---|
|
|
|
|
| - |
|
|
|
|
Accepted values mapping
Field name | Original PayU value | Rapyd value |
|---|---|---|
| TransactionType CREDIT | POST /v1/refunds |
Create Refund - Response parameters
Rapyd field name | Original PayU field |
|---|---|
|
|
|
|
|
|
| None |
|
|
Accepted values mapping
Field name | Original PayU value | Rapyd value |
|---|---|---|
| Mobicred code 103 | Completed (CLO) |
| Any other code | Error (ERR) |
Retrieve Payment - Path parameters
Rapyd field name | Original PayU field |
|---|---|
|
|
Accepted values mapping
Field name | Original PayU value | Rapyd value |
|---|---|---|
| getTransaction |
|
Retrieve Payment - Response parameters
Rapyd field name | Original PayU field |
|---|---|
|
|
|
|
|
|
Accepted values mapping
Field name | Original PayU value | Rapyd value |
|---|---|---|
| pcPurchaseState Approved / Paid Up | CLO |
| pcPurchaseState Cancelled | CAN |
| pcPurchaseState Declined | ERR |
| pcPurchaseState Created / Pre-Authorized | ACT |
Create payment (POST /v1/payments)
Request
curl -X POST 'https://sandboxapi.rapyd.net/v1/payments' \ -H 'access_key: <your-access-key>' \ -H 'Content-Type: application/json' \ -H 'idempotency: <unique-idempotency-key>' \ -H 'salt: <random-salt>' \ -H 'signature: <calculated-signature>' \ -H 'timestamp: <unix-timestamp>' \ --data-raw '{ "amount": 1500.00, "currency": "ZAR", "merchant_reference_id": "ORD-1001", "description": "Order ORD-1001", "complete_payment_url": "https://merchant.example.com/success", "error_payment_url": "https://merchant.example.com/error", "metadata": { "order_ref": "ORD-1001" }, "payment_method": { "type": "za_mobicred_ewallet", "fields": { "username": "customer@example.com", "password": "<customer-mobicred-password>" } } }'
Response
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "<operation-id>" }, "data": { "id": "payment_0f2c4e6a8b0d2f4a6c8e0a2c4e6a8b0d", "amount": 0, "original_amount": 1500, "currency_code": "ZAR", "country_code": "ZA", "status": "ACT", "merchant_reference_id": "ORD-1001", "description": "Order ORD-1001", "payment_method_type": "za_mobicred_ewallet", "payment_method_type_category": "ewallet", "payment_method_data": { "type": "za_mobicred_ewallet", "category": "ewallet", "metadata": {} }, "captured": false, "paid": false, "next_action": "pending_confirmation", "redirect_url": "https://<otp-host>/mobicred?payment_token=<rapyd_token>&otp_length=6", "complete_payment_url": "https://merchant.example.com/success", "error_payment_url": "https://merchant.example.com/error", "failure_code": "", "failure_message": "", "textual_codes": {}, "instructions": [], "metadata": { "order_ref": "ORD-1001" } } }
Create refund (POST /v1/refunds)
Request
curl -X POST 'https://sandboxapi.rapyd.net/v1/refunds' \ -H 'access_key: <your-access-key>' \ -H 'Content-Type: application/json' \ -H 'idempotency: <unique-idempotency-key>' \ -H 'salt: <random-salt>' \ -H 'signature: <calculated-signature>' \ -H 'timestamp: <unix-timestamp>' \ --data-raw '{ "payment": "payment_0f2c4e6a8b0d2f4a6c8e0a2c4e6a8b0d", "amount": 500.00, "reason": "Merchandise returned", "merchant_reference_id": "REF-1001" }'
Response
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "<operation-id>" }, "data": { "id": "refund_7a1b3c5d7e9f1a3b5c7d9e1f3a5b7c9d", "amount": 500, "payment": "payment_0f2c4e6a8b0d2f4a6c8e0a2c4e6a8b0d", "currency": "ZAR", "reason": "Merchandise returned", "status": "Completed", "failure_reason": "", "merchant_reference_id": "REF-1001", "payment_method_type": "za_mobicred_ewallet", "metadata": {} } }
Retrieve payment (GET /v1/payments/{payment})
Request
curl -X GET 'https://sandboxapi.rapyd.net/v1/payments/payment_0f2c4e6a8b0d2f4a6c8e0a2c4e6a8b0d' \ -H 'access_key: <your-access-key>' \ -H 'Content-Type: application/json' \ -H 'salt: <random-salt>' \ -H 'signature: <calculated-signature>' \ -H 'timestamp: <unix-timestamp>'
Response
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "<operation-id>" }, "data": { "id": "payment_0f2c4e6a8b0d2f4a6c8e0a2c4e6a8b0d", "amount": 1500, "original_amount": 1500, "currency_code": "ZAR", "country_code": "ZA", "status": "CLO", "captured": true, "paid": true, "merchant_reference_id": "ORD-1001", "payment_method_type": "za_mobicred_ewallet", "payment_method_type_category": "ewallet", "next_action": "not_applicable", "redirect_url": "", "failure_code": "", "failure_message": "" } }