Transfert · tous réseaux

L'argent circule.
OraPay ne s'arrête
à aucun réseau.

Envoyez, encaissez et pilotez chaque flux d'argent de votre activité — d'un mobile money à l'autre, d'un client à votre compte, d'une facture à un salaire — depuis un seul compte.

Mobile Money Cartes
Transfert 100 000 FCFA
De
Alifa Touré
OraPay
Orange
MTN
Moov
Wave
OraPay
à
Hermine Yao
Émission Inter-réseaux Réception
Peu importe le réseau du destinataire Instantané
  • Ce que fait OraPay

    Un compte, plusieurs avantages avec tous les usages de la finance.

    Des envois entre particuliers à l'encaissement d'une boutique en ligne, chaque service est pensé pour fonctionner sans changer d'application ni de réseau.

    Particuliers Marchands Entreprises Développeurs
01

Transfert d'argent tout réseaux

Envoyez de l'argent vers n'importe quel opérateur de mobile money, quel que soit celui utilisé par le destinataire.

Particuliers
02

Virement mobile money

Transférez directement entre deux comptes mobile money, dans les deux sens.

Particuliers
03

Retrait instantané

Convertissez votre solde OraPay en espèces au point de retrait le plus proche, sans délai d'attente.

Particuliers
04

Encaissement mobile money

Recevez les paiements de vos clients directement depuis leur mobile money, quel que soit l'opérateur, sans lien de paiement & sans APIs.

Marchands
05

Lien de paiement marchand

Générez un lien de paiement à intégrer sur votre site pour encaisser vos clients en quelques clics.

Marchands
06

Paiement de salaire par chèque virtuel

Émettez des chèques virtuels pour verser les salaires de votre équipe, encaissables directement en ligne.

Entreprises
07

Paiement de factures

Réglez vos factures, abonnements et d'autres services depuis votre compte.

Particuliers
08

Achat à crédit

Payez échelonné nos marchandises et suivez chaque échéance directement depuis OraPay.

Marchands
09

Commerce en ligne

Mettez en ligne votre catalogue et encaissez vos ventes sans avoir besoin d'un site web séparé.

Marchands
10

Intégration Widget

Ajoutez nos modules de paiements à votre site web pour recevoir les paiements de vos clients.

Développeurs
11

Intégration API

Connectez OraPay à votre propre système d'information pour automatiser paiements, virements et encaissements.

Développeurs
Sécurité & confiance

Chaque transaction, tracée et confirmée

Confirmation en temps réel

Chaque opération génère une notification immédiate à l'émetteur et au destinataire.

Historique complet

Retrouvez l'ensemble de vos transferts, encaissements et factures à tout moment.

Code secret & PIN

Chaque opération sensible est protégée par un code personnel que vous seul connaissez.

Support disponible

Une équipe joignable pour toute question sur un transfert, un encaissement ou une intégration.

Widget & Développeurs

insérez notre widget à ce que vous construisez

Un widget de paiement à insérer sur n'importe quelle page de votre site web, et commencez immédiatement à encaisser vos clients.

Widget payme — JS
<!-- Exemple, le block HTML qui va contenir le Widget -->
<div id="block_for_OraPayWidget"></div>

<!-- L'URL du Widget de paiement OraPay -->
<script src="https://widget.oraplus.org/payment/payme.js"></script>
<script>
    var payment = {};
    payment.loadIntoElementId = "#block_for_OraPayWidget";
    payment.acn = "1561-2016-0986-3508";
    payment.ref = "u56ai4";
    payment.ui = {
        width:"100%",
        height:"600px",
        border:0,
        radius:"12px",
        shadow:"0px 4px 12px rgba(0,0,0,0,.1)",
        backgroundColor:""
    };
    payment.header = {
        display:"false"
    };
    payment.covert = {
        display:"false",
        url:""
    };
    payment.marchandise = {
        titled:"Crédit de communication",
        price:1000,
        commande:2
    };
    payment.customer = {
        name:"Traoré Bintou",
        phoneNumber:"0102030405",
        email:"bintra@oraplus.org",
        nId:"CNI0542365"
    };
    payment.userData = "MYDATABASE-USER-001";
    payment.url = {
        success:"https://payme.oraplus.org/success",
        failed:"https://payme.oraplus.org/failed"
    };
    oracorp_widgetPayment_payme.init(payment);
</script>
Widget payme — Reponse
<!-- Données en réponse de OraPay -->
    {
        date => "2020-01-01"
        time => "00:00:00"
        pymt-ref => "pay_pUK4DOlr39iyRLuY9q5Nj"
        pymt-rgn => "225"
        pymt-opr => "MTN"
        pymt-phn => "0500000000"
        mch-ttl => "Crédit de communication"
        mch-prx => "1000"
        mch-cmd => "2"
        mch-dbt => "2070"
        cus-nme => "Traoré Bintou"
        cus-phn => "0102030405"
        cus-eml => "bintra@oraplus.org"
        cus-nid => "CNI0542365"
        userdata => "MYDATABASE-USER-001"
    }

Widget de paiement

Copiez et collez le script sur votre page produit,
panier ou facture. Le client choisit son opérateur
mobile money et confirme depuis son téléphone
tablette ou ordinateur sans quitter votre site.

  • Fonctionne avec tous les opérateurs
    pris en charge par OraPay
  • Redirection ou confirmation en overlay,
    selon votre intégration
  • Données de confirmation envoyé à votre serveur
    à chaque paiement réussi
  • Intégration et utilisation
Widget payme — Properties
<!-- 1. Créer un block reservé au Widget,
vous pouvez lui attribué un nom que vous voulez
dans notre exemple, le block sera identifié
comme block_for_OraPayWidget -->
<div id = "block_for_OraPayWidget"></div> <!-- 2. Insérer le script de chargement du Widget,
de préférence avant </body> de paiement OraPay -->
<script src = "https://widget.oraplus.org/payment/payme.js"></script> <!-- 3. Créer un variable objet qui contiendra
toutes les informations de paramétrage du Widget -->
var payment = {}; <!-- 4. Indexer le block HTML qui va contenir le Widget --> payment.loadIntoElementId = "#block_for_OraPayWidget"; <!-- 5. Ajouter les informations de votre lien.
Pour retrouver ces informations
veuillez regarder acn & ref dans votre lien -->
payment.acn = "LE ACN DE VOTRE COMPTE OraPay"; payment.ref = "LE NUM DU LIEN"; <!-- 6. Pour designer le Widget,
ajoutez ses propriétés -->
payment.ui = {}; <!-- 7. Pour afficher ou masquer le logo du Widget,
ajoutez ses propriétés -->
payment.header = {}; <!-- 8. Pour afficher; masquer
ou charger l'image de couverture du Widget -->
payment.covert = {}; <!-- 9. Pour renseigner les informations sur la marchandise --> payment.marchandise = {}; <!-- 10. Pour renseigner les informations sur le client --> payment.customer = {}; <!-- 11. Une valeur propre à vous que OraPay
vous renvera après une opération -->
payment.userData = ""; <!-- 12. Vos URLs pour rediriger vos clients
après une opération. Si aucune URL n'est défini,
OraPay va gérer la rédirection et le reçu de paiement. -->
payment.url = {}; <!-- Chargement du Widget --> oracorp_widgetPayment_payme.init(payment);


API & Développeurs

Intégrez nos APIs à ce que vous construisez

APIs pour piloter vos encaissements et transferts depuis votre propre système.

APIs Base — URL
L'API base URL est l'adresse de programmation
"https://api.oraplus.org/wallet/"
APIs HEADER — Authentification
Toutes les requêtes API 
doivent inclure votre Token 
dans les headers HTTP.
'Authentification:Bearer YOUR_TOKEN'
Remplacez YOUR_TOKEN par un Token généré
depuis votre compte OraPay. Pour récupérer votre Token,
ouvez OraPay, puis allez dans Paylink, puis API-Token,
puis cliquez sur "Renouveler le Token".
APIs HEADER — Mode
Les différents types d'environnements
Le mode "sandbox" vous permet de testez votre intégration.
Le mode "live" exécuté la transaction en réelle.
Utilisez le mode live pour passer en production.
'Mode:sandbox' //Mode test
'Mode:live' //Mode production
APIs BODY — Fields
'q'=>'balance/payin/payout' //Type de transaction
'region'=>225 //L'indicatif téléphonique international
'operator'=>'Orange|Moov...' //Opérateurs mobile money/carte
'method'=>'wallet/card' //Emission par mobile money/carte
'number'=>'0102030405|2145-5442...' //Numéro mobile money/carte
'amount'=>1000 //Montant
'otp'=>'' //Code de validation
'userdata'=>'' //Données de votre client
'urlIfSuccessful'=>'' //Url de redirection
'urlIfFailed'=>'' //Url de redirection
APIs — Status
Les différents statuts
interaction //Action requise
inprogress //Opération en cours
successful //Opération réussie
failed //Opération échoué
cancelled //Opération annulée

APIs functions

  • balance: Consulter le solde
  • payin: Encaisser
  • payout: Transférer
balance — Curl PHP payin — Curl PHP
sur Mobile money
payout — Curl PHP
sur Mobile money
<?php
    $curl = curl_init();
    curl_setopt_array($curl,
        array(
            CURLOPT_URL => "https://api.oraplus.org/wallet/",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'POST',
            CURLOPT_HTTPHEADER => array(
                'Authorization: Bearer YOUR_TOKEN',
                'Mode: sandbox'
            ),
            CURLOPT_POSTFIELDS => array(
                'q' => 'balance'
            )
        )
    );
    $response = curl_exec($curl);
    curl_close($curl);
    echo $response;
    exit();
?>
<?php
    $curl = curl_init();
    curl_setopt_array($curl,
        array(
            CURLOPT_URL => "https://api.oraplus.org/wallet/",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'POST',
            CURLOPT_HTTPHEADER => array(
                'Authorization: Bearer YOUR_TOKEN',
                'Mode: sandbox'
            ),
            CURLOPT_POSTFIELDS => array(
                'q' => 'payin',
                'region' => 225,
                'operator' => 'OraPay',
                'method' => 'wallet',
                'number' => '0102030405',
                'amount' => 100,
                'otp' => '',
                'userdata' => '',
                'urlIfSuccessful' => 'https://site.com/success/',
                'urlIfFailed' => 'https://site.com/failed/'
            )
        )
    );
    $response = curl_exec($curl);
    curl_close($curl);
    echo $response;
    exit();
?>
<?php
    $curl = curl_init();
    curl_setopt_array($curl,
        array(
            CURLOPT_URL => "https://api.oraplus.org/wallet/",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'POST',
            CURLOPT_HTTPHEADER => array(
                'Authorization: Bearer YOUR_TOKEN',
                'Mode: sandbox'
            ),
            CURLOPT_POSTFIELDS => array(
                'q' => 'payout',
                'region' => 225,
                'operator' => 'OraPay',
                'method' => 'wallet',
                'number' => '0102030405',
                'amount' => 100,
                'userdata' => ''
            )
        )
    );
    $response = curl_exec($curl);
    curl_close($curl);
    echo $response;
    exit();
?>
region:225 (Côte d'ivoire)
operator Orange MTN Moov Wave OraPay Visa Mastercard
method wallet card wallet card wallet card wallet card wallet card card card
amount min max min max min max min max min max min max min max min max min max min max min max min max
payin 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 500 1000000 500 1000000
payout 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 100 1000000 500 1000000 500 1000000
status events datas
Appels/Satuts interaction inprogress successful failed cancelled
balance date
time
signature
mode
status
coins_eco
currency_code
currency_name
date
time
signature
mode
status
error_code
error_message
date
time
status
error_code
error_message
payin date
time
signature
mode
status
transaction_id
transaction_message
transaction_url
date
time
signature
mode
status
transaction_id
date
time
signature
mode
status
transaction_id
region
operator
method
number
amount
fees
debit
currency_code
currency_name
userdata
date
time
signature
mode
status
transaction_id
error_code
error_message
date
time
status
error_code
error_message
payout date
time
signature
mode
status
transaction_id
date
time
signature
mode
status
transaction_id
region
operator
method
number
amount
fees
debit
currency_code
currency_name
userdata
date
time
signature
mode
status
transaction_id
error_code
error_message
date
time
status
error_code
error_message
Error codes
error error_code error_message
Server_Connexion_Unavailable #512 Service indisponible
Server_Query_Unavailable #513 Requête indisponible
Server_Remote_IP_Blacklisted #514 Adresse IP non autorisé
Server_Remote_Domaine_Blacklisted #515 Adresse de domaine non autorisé
API_Token_Missing #600 Token manquant
API_Token_Error #601 Token incorrect
API_Mode_Missing #602 Paramètre du mode manquant
API_Mode_Error #603 Paramètre du mode incorrect
API_Signature_Missing #604 Signature manquante
API_Webhook_URL_Missing #605 Webhook URL manquante
API_Query_Region_Error #606 Valeur de la région incorrecte
API_Query_Operator_Error #607 Valeur de l'opérateur incorrecte
API_Query_Method_Error #608 Valeur de méthode incorrecte
API_Query_Number_Missing #609 Valeur number manquant
API_Query_Number_Error #610 Valeur number incorrecte
API_Query_Amount_Missing #611 Montant manquant
API_Query_Amount_Error #612 Montant incorrect
API_Query_OTP_Missing #613 Valeur OTP manquante
API_Query_OTP_Error #614 Valeur OTP incorrecte
API_Query_coins_Low #615 Fond insuffisant
API_Query_coins_Error #616 Solde indisponible
API_Query_Fees_Low #617 Fees value low
API_Query_Fees_High #618 Fees value high
API_Query_Fees_Error #619 Fees value error
API_Query_URL_Redirection_Missing #620 URL de rédirection manquant
API_Query_URL_Redirection_Error #621 URL de rédirection contient des caratères spéciaux interdits
API_Query_PayIn_Error #622 Paiement interrompu
API_Query_PayIn_Failed #623 Paiement échoué
API_Query_PayIn_Cancelled #624 Paiement annulé
API_Query_PayIn_Aborted #625 Paiement non terminé
API_Query_PayOut_Error #626 Transfert interrompu
API_Query_PayOut_Failed #627 Transfert échoué
API_Query_PayOut_Cancelled #628 Transfert annulé
API_Query_PayOut_Aborted #629 Transfert non terminé
API_Account_Usage_Error #630 Usage du compte différent de Customer
API_Account_PID_Missing #631 Compte utilisateur non identifié
API_Account_PID_Error #632 Erreur de compte utilisateur
Avis clients

Ce que nos utilisateurs en disent

Cet espace attend vos vrais témoignages

Pour rester honnête envers vos utilisateurs, cette section n'affiche pas de faux avis. Remplacez ce bloc par des citations réelles de clients OraPay, avec leur accord — un commerçant qui encaisse via mobile money, une entreprise qui verse ses salaires, un développeur qui a intégré l'API.

Un compte OraPay, tous vos mobiles money au même endroit.

Ouvrez votre compte en quelques minutes et connectez votre premier mobile money.